return IRQ_HANDLED;
 }
 
-static int mcs_touchkey_probe(struct i2c_client *client,
-               const struct i2c_device_id *id)
+static int mcs_touchkey_probe(struct i2c_client *client)
 {
+       const struct i2c_device_id *id = i2c_client_get_device_id(client);
        const struct mcs_platform_data *pdata;
        struct mcs_touchkey_data *data;
        struct input_dev *input_dev;
                .name   = "mcs_touchkey",
                .pm     = &mcs_touchkey_pm_ops,
        },
-       .probe          = mcs_touchkey_probe,
+       .probe_new      = mcs_touchkey_probe,
        .remove         = mcs_touchkey_remove,
        .shutdown       = mcs_touchkey_shutdown,
        .id_table       = mcs_touchkey_id,