History

Merge tag 'gpio-fixes-for-v3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio

Pull GPIO fixes from Linus Walleij: "These are some GPIO regression fixes for v3.6: - Erroneous debug message from of_get_named_gpio_flags() - Make sure the MC9S08DZ60 GPIO driver depend on I2C being compiled in (not module) or allmodconfig breaks. - Check return value from irq_alloc_descs() in the Emma Mobile GPIO driver. - Assign the owner field for the rdc321x driver so the module won't be removed if it has active GPIOs." * tag 'gpio-fixes-for-v3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: gpio: rdc321x: Prevent removal of modules exporting active GPIOs gpio: em: Fix checking return value of irq_alloc_descs gpio: mc9s08dz60: Fix build error if I2C=m gpio: Fix debug message in of_get_named_gpio_flags()

Linus Torvalds committed 14 years ago

Commit 813e6432 parents 5e682c0 1146f884 files · +5 −4Browse files

Unified · Split

4 files
  1. drivers/gpio/Kconfig +1 −1
  2. drivers/gpio/gpio-em.c +2 −2
  3. drivers/gpio/gpio-rdc321x.c +1 −0
  4. drivers/gpio/gpiolib-of.c +1 −1
drivers/gpio/Kconfig+1−1
@@ -294,7 +294,7 @@ config GPIO_MAX732X_IRQ · 293 unmodified lines
294 294
295config GPIO_MC9S08DZ60295config GPIO_MC9S08DZ60
296 bool "MX35 3DS BOARD MC9S08DZ60 GPIO functions"296 bool "MX35 3DS BOARD MC9S08DZ60 GPIO functions"
297 depends on I2C && MACH_MX35_3DS297 depends on I2C=y && MACH_MX35_3DS
298 help298 help
299 Select this to enable the MC9S08DZ60 GPIO driver299 Select this to enable the MC9S08DZ60 GPIO driver
300 300
drivers/gpio/gpio-em.c+2−2
@@ -247,9 +247,9 @@ static int __devinit em_gio_irq_domain_init(struct em_gio_priv *p) · 246 unmodified lines
247 247
248 p->irq_base = irq_alloc_descs(pdata->irq_base, 0,248 p->irq_base = irq_alloc_descs(pdata->irq_base, 0,
249 pdata->number_of_pins, numa_node_id());249 pdata->number_of_pins, numa_node_id());
250 if (IS_ERR_VALUE(p->irq_base)) {250 if (p->irq_base < 0) {
251 dev_err(&pdev->dev, "cannot get irq_desc\n");251 dev_err(&pdev->dev, "cannot get irq_desc\n");
252 return -ENXIO;252 return p->irq_base;
253 }253 }
254 pr_debug("gio: hw base = %d, nr = %d, sw base = %d\n",254 pr_debug("gio: hw base = %d, nr = %d, sw base = %d\n",
255 pdata->gpio_base, pdata->number_of_pins, p->irq_base);255 pdata->gpio_base, pdata->number_of_pins, p->irq_base);
drivers/gpio/gpio-rdc321x.c+1−0
@@ -170,6 +170,7 @@ static int __devinit rdc321x_gpio_probe(struct platform_device *pdev) · 169 unmodified lines
170 rdc321x_gpio_dev->reg2_data_base = r->start + 0x4;170 rdc321x_gpio_dev->reg2_data_base = r->start + 0x4;
171 171
172 rdc321x_gpio_dev->chip.label = "rdc321x-gpio";172 rdc321x_gpio_dev->chip.label = "rdc321x-gpio";
173 rdc321x_gpio_dev->chip.owner = THIS_MODULE;
173 rdc321x_gpio_dev->chip.direction_input = rdc_gpio_direction_input;174 rdc321x_gpio_dev->chip.direction_input = rdc_gpio_direction_input;
174 rdc321x_gpio_dev->chip.direction_output = rdc_gpio_config;175 rdc321x_gpio_dev->chip.direction_output = rdc_gpio_config;
175 rdc321x_gpio_dev->chip.get = rdc_gpio_get_value;176 rdc321x_gpio_dev->chip.get = rdc_gpio_get_value;
drivers/gpio/gpiolib-of.c+1−1
@@ -82,7 +82,7 @@ int of_get_named_gpio_flags(struct device_node *np, const char *propname, · 81 unmodified lines
82 gpiochip_find(&gg_data, of_gpiochip_find_and_xlate);82 gpiochip_find(&gg_data, of_gpiochip_find_and_xlate);
83 83
84 of_node_put(gg_data.gpiospec.np);84 of_node_put(gg_data.gpiospec.np);
85 pr_debug("%s exited with status %d\n", __func__, ret);85 pr_debug("%s exited with status %d\n", __func__, gg_data.out_gpio);
86 return gg_data.out_gpio;86 return gg_data.out_gpio;
87}87}
88EXPORT_SYMBOL(of_get_named_gpio_flags);88EXPORT_SYMBOL(of_get_named_gpio_flags);