On Sun, 19 Nov 2017 15:29:34 +0000 Jonathan Cameron <jic23@xxxxxxxxxx> wrote: > On Sat, 4 Nov 2017 03:14:27 +0000 > Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> wrote: > > > On Fri, 3 Nov 2017 15:03:37 +0200 > > Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: > > > > > In order to satisfy GPIO ACPI library requirements convert users of > > > gpiod_get_index() to correctly behave when there no mapping is > > > provided by firmware. > > > > > > Here we add explicit mapping between _CRS GpioIo() resources and > > > their names used in the driver. > > > > > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > > > > Added cc's as for previous patch. I guess this makes sense if we > > accept that fixes like the previous one should be in drivers at all. > > > > If not the reset part still makes sense I suppose. > So, what this description is missing: > * Is this a fix for known problem? > * If so please add a fixes tag. > * If it is because we now have platforms that need this then say that. > > I have no idea on the urgency of this patch from the description. > Hi Andy, any updates on the above? I probably won't be sending a fixes pull until next weekend, but would be good to know if this should be in there or not by then! > Jonathan > > > > > --- > > > drivers/iio/proximity/sx9500.c | 21 ++++++++++++++++----- > > > 1 file changed, 16 insertions(+), 5 deletions(-) > > > > > > diff --git a/drivers/iio/proximity/sx9500.c > > > b/drivers/iio/proximity/sx9500.c index df23dbcc030a..eb687b3dd442 > > > 100644 --- a/drivers/iio/proximity/sx9500.c > > > +++ b/drivers/iio/proximity/sx9500.c > > > @@ -32,9 +32,6 @@ > > > #define SX9500_DRIVER_NAME "sx9500" > > > #define SX9500_IRQ_NAME "sx9500_event" > > > > > > -#define SX9500_GPIO_INT "interrupt" > > > -#define SX9500_GPIO_RESET "reset" > > > - > > > /* Register definitions. */ > > > #define SX9500_REG_IRQ_SRC 0x00 > > > #define SX9500_REG_STAT 0x01 > > > @@ -866,26 +863,40 @@ static int sx9500_init_device(struct iio_dev > > > *indio_dev) return sx9500_init_compensation(indio_dev); > > > } > > > > > > +static const struct acpi_gpio_params reset_gpios = { 0, 0, false }; > > > +static const struct acpi_gpio_params interrupt_gpios = { 2, 0, > > > false }; + > > > +static const struct acpi_gpio_mapping acpi_sx9500_gpios[] = { > > > + { "reset-gpios", &reset_gpios, 1 }, > > > + { "interrupt-gpios", &interrupt_gpios, 1 }, > > > + { }, > > > +}; > > > + > > > static void sx9500_gpio_probe(struct i2c_client *client, > > > struct sx9500_data *data) > > > { > > > struct gpio_desc *gpiod_int; > > > struct device *dev; > > > + int ret; > > > > > > if (!client) > > > return; > > > > > > dev = &client->dev; > > > > > > + ret = devm_acpi_dev_add_driver_gpios(dev, acpi_sx9500_gpios); > > > + if (ret) > > > + dev_dbg(dev, "Unable to add GPIO mapping table\n"); > > > + > > > if (client->irq <= 0) { > > > - gpiod_int = devm_gpiod_get(dev, SX9500_GPIO_INT, > > > GPIOD_IN); > > > + gpiod_int = devm_gpiod_get(dev, "interrupt", > > > GPIOD_IN); if (IS_ERR(gpiod_int)) > > > dev_err(dev, "gpio get irq failed\n"); > > > else > > > client->irq = gpiod_to_irq(gpiod_int); > > > } > > > > > > - data->gpiod_rst = devm_gpiod_get(dev, SX9500_GPIO_RESET, > > > GPIOD_OUT_HIGH); > > > + data->gpiod_rst = devm_gpiod_get(dev, "reset", > > > GPIOD_OUT_HIGH); if (IS_ERR(data->gpiod_rst)) { > > > dev_warn(dev, "gpio get reset pin failed\n"); > > > data->gpiod_rst = NULL; > > > > -- > > To unsubscribe from this list: send the line "unsubscribe linux-iio" in > > the body of a message to majordomo@xxxxxxxxxxxxxxx > > More majordomo info at http://vger.kernel.org/majordomo-info.html > > -- > To unsubscribe from this list: send the line "unsubscribe linux-iio" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html