GPIO fixes for the v4.15 cycle:

- Fix a crash in the 74x164 driver
 - Fix IRQ banks in the DaVinci driver
 - Fix the vendor prefix in the PCA953x driver
 -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABAgAGBQJaJpoPAAoJEEEQszewGV1zkS8P/iDQiDNCASokABajkyDDXQGG
 5jbbiANBH9DwCBDFru88VH9FyF+HDtoy2eOyi7pQe5pyufgZs+0EgHsT0M11aTux
 jOyiiK0jR1M4Ny255nWyOsT820NF58j53Bpze28U0xtiEWTA0ohqEgCTpp7825px
 zc5TMrHhP2Gvf5FJNQU7rphzoG/oSLevONzSxNplcfXtSFoEiu5JDSEQphna3PRY
 PLFiso4JlXhonhARIZ6MGB32Dx15D3jzoh21BRNmUDT/TeBLnaQckRuP7fHNUOsG
 inhAuiROXFVw27qZQL1DiyIBg5fDNreCPJ0hk+/sM92/QAz3cDLZoKjLmE5nqh7q
 d4H0/tDBJi/f3v0ITLwMjWk2dAiEPgnDUpdz7rlz0syhRvBjGo6J6LGG3LdNnNH9
 oqc7zliQARkO4ELARnz9HomIjHZsHPYD8NOJe6CQvtashabzFEa8jK+GFA32OfaG
 LFZyaQyxjLKsh0qjGg+4XMHcuVj1/33xLVOdGFUE9MkZQxMKwDMZRkwSV1fSOFKF
 r5ChdjTz71V711ONRmZuTd9vChHpEy2AJj7n1z1acwtZkI9owHIXdhf9O6AgB/+z
 hey+he+RmsxcPwMNUd4yI/hTQEiKShFVfK0E/TDoUG3i/TY8K73vfZUgYEZxM6mj
 Hsc/T5J/OIrlO3RD9tzB
 =B3ae
 -----END PGP SIGNATURE-----

Merge tag 'gpio-v4.15-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio

Pull GPIO fixes from Linus Walleij:
 "Three small fixes for GPIO. Not much, I'm surprised by the silence in
  my subsystems. All driver fixes:

   - fix a crash in the 74x164 driver

   - fix IRQ banks in the DaVinci driver

   - fix the vendor prefix in the PCA953x driver"

* tag 'gpio-v4.15-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
  gpio: pca953x: fix vendor prefix for PCA9654
  gpio: davinci: Assign first bank regs for unbanked case
  gpio: 74x164: Fix crash during .remove()
This commit is contained in:
Linus Torvalds 2017-12-05 08:44:19 -08:00
commit f81c728745
4 changed files with 5 additions and 5 deletions

View File

@ -27,7 +27,7 @@ Required properties:
ti,tca6424 ti,tca6424
ti,tca9539 ti,tca9539
ti,tca9554 ti,tca9554
onsemi,pca9654 onnn,pca9654
exar,xra1202 exar,xra1202
Optional properties: Optional properties:

View File

@ -23,6 +23,7 @@
struct gen_74x164_chip { struct gen_74x164_chip {
struct gpio_chip gpio_chip; struct gpio_chip gpio_chip;
struct mutex lock; struct mutex lock;
struct gpio_desc *gpiod_oe;
u32 registers; u32 registers;
/* /*
* Since the registers are chained, every byte sent will make * Since the registers are chained, every byte sent will make
@ -31,8 +32,7 @@ struct gen_74x164_chip {
* register at the end of the transfer. So, to have a logical * register at the end of the transfer. So, to have a logical
* numbering, store the bytes in reverse order. * numbering, store the bytes in reverse order.
*/ */
u8 buffer[0]; u8 buffer[];
struct gpio_desc *gpiod_oe;
}; };
static int __gen_74x164_write_config(struct gen_74x164_chip *chip) static int __gen_74x164_write_config(struct gen_74x164_chip *chip)

View File

@ -383,7 +383,7 @@ static int gpio_irq_type_unbanked(struct irq_data *data, unsigned trigger)
u32 mask; u32 mask;
d = (struct davinci_gpio_controller *)irq_data_get_irq_handler_data(data); d = (struct davinci_gpio_controller *)irq_data_get_irq_handler_data(data);
g = (struct davinci_gpio_regs __iomem *)d->regs; g = (struct davinci_gpio_regs __iomem *)d->regs[0];
mask = __gpio_mask(data->irq - d->base_irq); mask = __gpio_mask(data->irq - d->base_irq);
if (trigger & ~(IRQ_TYPE_EDGE_FALLING | IRQ_TYPE_EDGE_RISING)) if (trigger & ~(IRQ_TYPE_EDGE_FALLING | IRQ_TYPE_EDGE_RISING))

View File

@ -947,7 +947,7 @@ static const struct of_device_id pca953x_dt_ids[] = {
{ .compatible = "ti,tca6416", .data = OF_953X(16, PCA_INT), }, { .compatible = "ti,tca6416", .data = OF_953X(16, PCA_INT), },
{ .compatible = "ti,tca6424", .data = OF_953X(24, PCA_INT), }, { .compatible = "ti,tca6424", .data = OF_953X(24, PCA_INT), },
{ .compatible = "onsemi,pca9654", .data = OF_953X( 8, PCA_INT), }, { .compatible = "onnn,pca9654", .data = OF_953X( 8, PCA_INT), },
{ .compatible = "exar,xra1202", .data = OF_953X( 8, 0), }, { .compatible = "exar,xra1202", .data = OF_953X( 8, 0), },
{ } { }