Winbond IR Driver - v2
Subsystems (3)
cover Winbond IR Driver - v2
Here's a new patch set which should replace all the patches currently in the -mm tree for the winbond cir driver. The new series incorporate feedback from Bjorn Helgaas (convert the driver from ACPI to PNP) and Randy Dunlap (Kconfig fixes).
This set fixes the comments Bjorn Helgaas had on the previous set (wrong Kconfig depends).
The IR decoding can still be improved but the driver works for in daily use decoding RC6 commands, so I believe it is ready to go upstream.
Signature · 5 lines
David Härdeman -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
PATCH 1/2 Add a shutdown method to pnp drivers
The shutdown method is used by the winbond cir driver to setup the hardware for wake-from-S5.
Changes since last version: the previous patch added a shutdown method to acpi drivers, the winbond cir driver is now a pnp driver so the shutdown method is added to pnp drivers instead. Patch by Bjorn Helgaas <[email protected]>.
drivers/pnp/driver.c +10 -0
@@ -135,6 +135,15 @@return 0 ; } +static void pnp_device_shutdown (struct device *dev) +{ +struct pnp_dev *pnp_dev =to_pnp_dev (dev); +struct pnp_driver *drv = pnp_dev->driver; + +if (drv && drv->shutdown) + drv->shutdown (pnp_dev); +} +static int pnp_bus_match (struct device *dev,struct device_driver *drv) {struct pnp_dev *pnp_dev =to_pnp_dev (dev);
@@ -203,6 +212,7 @@ .match = pnp_bus_match, .probe = pnp_device_probe, .remove = pnp_device_remove, + .shutdown = pnp_device_shutdown, .suspend = pnp_bus_suspend, .resume = pnp_bus_resume, .dev_attrs = pnp_interface_attrs,
include/linux/pnp.h +1 -0
@@ -360,6 +360,7 @@unsigned int flags;int (*probe) (struct pnp_dev *dev,const struct pnp_device_id *dev_id);void (*remove) (struct pnp_dev *dev); +void (*shutdown) (struct pnp_dev *dev);int (*suspend) (struct pnp_dev *dev,pm_message_t state);int (*resume) (struct pnp_dev *dev);struct device_driver driver;
Signature · 1 line
David Härdeman
PATCH 2/2 Add a driver for the Winbond WPCD376I Consumer IR hardware
In reply to David HärdemanAdd a driver for the the Consumer IR (CIR) functionality of the Winbond WPCD376I chipset (found on e.g. Intel DG45FC motherboards).
Changes since the last version: converted from an ACPI to a PNP driver using a patch provided by Bjorn Helgaas <[email protected]>.
MAINTAINERS +6 -0
@@ -6448,6 +6448,12 @@ S: Maintained F: drivers/scsi/wd7000.c +WINBOND CIR DRIVER +P: David Härdeman +M: [email protected] +S: Maintained +F: drivers/input/misc/winbond-cir.c + WIMAX STACK P: Inaky Perez-Gonzalez M: [email protected]
drivers/input/misc/Kconfig +16 -0
@@ -222,6 +222,22 @@ To compile this driver as a module, choose M here: the module will be called sgi_btns. +config INPUT_WINBOND_CIR + tristate "Winbond IR remote control" + depends on X86 && PNP + select LEDS_CLASS + select BITREVERSE + help + Say Y here if you want to use the IR remote functionality found + in some Winbond SuperI/O chips. Currently only the WPCD376I + chip is supported (included in some Intel Media series motherboards). + + IR Receive and wake-on-IR from suspend and power-off is currently + supported. + + To compile this driver as a module, choose M here: the module will be + called winbond_cir. + config HP_SDC_RTC tristate "HP SDC Real Time Clock" depends on (GSC || HP300) && SERIO
drivers/input/misc/Makefile +1 -0
@@ -19,6 +19,7 @@ obj-$(CONFIG_INPUT_PCSPKR) += pcspkr.o obj-$(CONFIG_INPUT_POWERMATE) += powermate.o obj-$(CONFIG_INPUT_RB532_BUTTON) += rb532_button.o +obj-$(CONFIG_INPUT_WINBOND_CIR) += winbond-cir.o obj-$(CONFIG_INPUT_GPIO_ROTARY_ENCODER) += rotary_encoder.o obj-$(CONFIG_INPUT_SGI_BTNS) += sgi_btns.o obj-$(CONFIG_INPUT_SPARCSPKR) += sparcspkr.o
drivers/input/misc/winbond-cir.c new file +1644 -0
1,644 lines not on this page · raw message
Signature · 5 lines
David Härdeman -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html