On Wed, Oct 02, 2019 at 02:43:45PM -0700, Dmitry Torokhov wrote: > Now that instances of input_dev support polling mode natively, > we no longer need to create input_polled_dev instance. > > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Applied to hwmon-next. I don't know what 0-day is complaining about; the code builds fine for me with the supposedly failing configuration. We'll see if we get into trouble when the patch shows up in -next. Guenter > --- > drivers/hwmon/Kconfig | 1 - > drivers/hwmon/applesmc.c | 38 ++++++++++++++++++-------------------- > 2 files changed, 18 insertions(+), 21 deletions(-) > > diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig > index 650dd71f9724..c5adca9cd465 100644 > --- a/drivers/hwmon/Kconfig > +++ b/drivers/hwmon/Kconfig > @@ -299,7 +299,6 @@ config SENSORS_APPLESMC > depends on INPUT && X86 > select NEW_LEDS > select LEDS_CLASS > - select INPUT_POLLDEV > help > This driver provides support for the Apple System Management > Controller, which provides an accelerometer (Apple Sudden Motion > diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c > index 183ff3d25129..ec93b8d673f5 100644 > --- a/drivers/hwmon/applesmc.c > +++ b/drivers/hwmon/applesmc.c > @@ -19,7 +19,7 @@ > > #include <linux/delay.h> > #include <linux/platform_device.h> > -#include <linux/input-polldev.h> > +#include <linux/input.h> > #include <linux/kernel.h> > #include <linux/slab.h> > #include <linux/module.h> > @@ -140,7 +140,7 @@ static s16 rest_y; > static u8 backlight_state[2]; > > static struct device *hwmon_dev; > -static struct input_polled_dev *applesmc_idev; > +static struct input_dev *applesmc_idev; > > /* > * Last index written to key_at_index sysfs file, and value to use for all other > @@ -681,9 +681,8 @@ static void applesmc_calibrate(void) > rest_x = -rest_x; > } > > -static void applesmc_idev_poll(struct input_polled_dev *dev) > +static void applesmc_idev_poll(struct input_dev *idev) > { > - struct input_dev *idev = dev->input; > s16 x, y; > > if (applesmc_read_s16(MOTION_SENSOR_X_KEY, &x)) > @@ -1134,7 +1133,6 @@ static int applesmc_create_nodes(struct applesmc_node_group *groups, int num) > /* Create accelerometer resources */ > static int applesmc_create_accelerometer(void) > { > - struct input_dev *idev; > int ret; > > if (!smcreg.has_accelerometer) > @@ -1144,37 +1142,38 @@ static int applesmc_create_accelerometer(void) > if (ret) > goto out; > > - applesmc_idev = input_allocate_polled_device(); > + applesmc_idev = input_allocate_device(); > if (!applesmc_idev) { > ret = -ENOMEM; > goto out_sysfs; > } > > - applesmc_idev->poll = applesmc_idev_poll; > - applesmc_idev->poll_interval = APPLESMC_POLL_INTERVAL; > - > /* initial calibrate for the input device */ > applesmc_calibrate(); > > /* initialize the input device */ > - idev = applesmc_idev->input; > - idev->name = "applesmc"; > - idev->id.bustype = BUS_HOST; > - idev->dev.parent = &pdev->dev; > - idev->evbit[0] = BIT_MASK(EV_ABS); > - input_set_abs_params(idev, ABS_X, > + applesmc_idev->name = "applesmc"; > + applesmc_idev->id.bustype = BUS_HOST; > + applesmc_idev->dev.parent = &pdev->dev; > + input_set_abs_params(applesmc_idev, ABS_X, > -256, 256, APPLESMC_INPUT_FUZZ, APPLESMC_INPUT_FLAT); > - input_set_abs_params(idev, ABS_Y, > + input_set_abs_params(applesmc_idev, ABS_Y, > -256, 256, APPLESMC_INPUT_FUZZ, APPLESMC_INPUT_FLAT); > > - ret = input_register_polled_device(applesmc_idev); > + ret = input_setup_polling(applesmc_idev, applesmc_idev_poll); > + if (ret) > + goto out_idev; > + > + input_set_poll_interval(applesmc_idev, APPLESMC_POLL_INTERVAL); > + > + ret = input_register_device(applesmc_idev); > if (ret) > goto out_idev; > > return 0; > > out_idev: > - input_free_polled_device(applesmc_idev); > + input_free_device(applesmc_idev); > > out_sysfs: > applesmc_destroy_nodes(accelerometer_group); > @@ -1189,8 +1188,7 @@ static void applesmc_release_accelerometer(void) > { > if (!smcreg.has_accelerometer) > return; > - input_unregister_polled_device(applesmc_idev); > - input_free_polled_device(applesmc_idev); > + input_unregister_device(applesmc_idev); > applesmc_destroy_nodes(accelerometer_group); > } >