Messages in this thread | | | Date | Fri, 17 Feb 2012 22:21:55 +0100 | From | Jean Delvare <> | Subject | Re: [PATCH 1/3 v3] mfd: Add LPC driver for Intel ICH chipsets |
| |
Hi Aaron,
On Fri, 17 Feb 2012 12:18:18 -0600 (CST), Aaron Sierra wrote: > This driver currently creates resources for use by a forthcoming ICH > chipset GPIO driver. It could be expanded to created the resources for > converting the esb2rom (mtd) and iTCO_wdt (wdt), and potentially more, > drivers to use the mfd model. > > Signed-off-by: Aaron Sierra <asierra@xes-inc.com> > Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Tested-by: Jean Delvare <khali@linux-fr.org>
> --- > drivers/mfd/Kconfig | 9 + > drivers/mfd/Makefile | 1 + > drivers/mfd/lpc_ich.c | 513 +++++++++++++++++++++++++++++++++++++++++++ > include/linux/mfd/lpc_ich.h | 32 +++ > 4 files changed, 555 insertions(+), 0 deletions(-) > create mode 100644 drivers/mfd/lpc_ich.c > create mode 100644 include/linux/mfd/lpc_ich.h
Looks alright this time, except:
> +static void __devexit lpc_ich_remove(struct pci_dev *dev) > +{ > + mfd_remove_devices(&dev->dev); > + > + if (lpc_ich_gpio_save > 0) > + pci_write_config_byte(dev, GPIOCTRL, (u8)lpc_ich_gpio_save); > + if (lpc_ich_acpi_save > 0) > + pci_write_config_byte(dev, ACPICTRL, (u8)lpc_ich_acpi_save);
I think you really mean >= 0 above. And the casts aren't needed. You should also reset lpc_ich_gpio_save and lpc_ich_acpi_save to -1 after restoring the values, it matters if the device is removed and re-added through sysfs.
This cleanup is missing from the error path in lpc_ich_probe, BTW. You may want to move it to a separate function so that you can call it from both lpc_ich_probe and lpc_ich_remove.
-- Jean Delvare
| |