summaryrefslogtreecommitdiffstats
path: root/drivers/gpio/gpio-lynxpoint.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'mark-irqs' into develLinus Walleij2013-12-041-0/+22
|\ | | | | | | | | Conflicts: drivers/gpio/gpio-em.c
| * gpio: lynxpoint: lock IRQs when starting themLinus Walleij2013-12-041-0/+22
| | | | | | | | | | | | | | | | | | | | This uses the new API for tagging GPIO lines as in use by IRQs. This enforces a few semantic checks on how the underlying GPIO line is used. Cc: Mathias Nyman <mathias.nyman@linux.intel.com> Tested-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* | gpio/pinctrl: make gpio_chip members typed booleanLinus Walleij2013-12-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | This switches the two members of struct gpio_chip that were defined as unsigned foo:1 to bool, because that is indeed what they are. Switch all users in the gpio and pinctrl subsystems to assign these values with true/false instead of 0/1. The users outside these subsystems will survive since true/false is 1/0, atleast we set some kind of more strict typing example. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* | gpio-lynxpoint: Allow building as a moduleJean Delvare2013-12-031-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Change CONFIG_GPIO_LYNXPOINT from bool to tristate so that the gpio-lynxpoint driver can be built as a module. Add the required glue: an exit function to unregister the driver, and module information. Signed-off-by: Jean Delvare <jdelvare@suse.de> Cc: Mathias Nyman <mathias.nyman@linux.intel.com> Cc: Linus Walleij <linus.walleij@linaro.org> Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* | gpio: drop users of irq_set_chip_and_handler_name()Linus Walleij2013-12-031-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Switch all users of irq_set_chip_and_handler_name() to simply use irq_set_chip_and_handler(), all just provide a boilerplate name like "demux" or "mux" - a fact which is anyway obvious from the hwirq number from the irqdomain now present in e.g. /proc/interrupts. Cc: Mathias Nyman <mathias.nyman@linux.intel.com> Cc: Dan Carpenter <dan.carpenter@oracle.com> Acked-by: David Cohen <david.a.cohen@linux.intel.com> Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com> Tested-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* | gpio/lynxpoint: add new ACPI IDMika Westerberg2013-11-251-0/+1
|/ | | | | | | | Newer Intel PCHs have the same GPIO controller than Haswell but the ACPI ID is different. Add this ID to the driver supported IDs list. Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* Merge tag 'v3.12-rc6' into develLinus Walleij2013-10-191-2/+3
|\ | | | | | | | | | | | | Linux 3.12-rc6 Conflicts: drivers/gpio/gpio-lynxpoint.c
| * gpio/lynxpoint: check if the interrupt is enabled in IRQ handlerMika Westerberg2013-10-111-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | Checking LP_INT_STAT is not enough in the interrupt handler because its contents get updated regardless of whether the pin has interrupt enabled or not. This causes the driver to loop forever for GPIOs that are pulled up. Fix this by checking the interrupt enable bit for the pin as well. Cc: stable@vger.kernel.org Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> Acked-by: Mathias Nyman <mathias.nyman@linux.intel.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* | gpio: lynxpoint: drop references to "virtual" IRQLinus Walleij2013-10-161-9/+10
|/ | | | | | | | | | | Rename the argument "virq" to just "irq", this IRQ isn't any more "virtual" than any other Linux IRQ number, we use "hwirq" for the actual hw-numbers, "virq" is just bogus. Take this opportunity to sink a variable into a loop. Acked-by: Mathias Nyman <mathias.nyman@linux.intel.com> Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* gpio-lynxpoint: Fix warning about unbalanced pm_runtime_enableMathias Nyman2013-08-161-0/+1
| | | | | | | | Missing pm_runtime_disable call in driver remove path caused an unbalanaced pm_runtime_enable warning when driver was reloaded Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* gpio: lynxpoint: remove unnecessary platform_set_drvdata()Jingoo Han2013-05-301-1/+0
| | | | | | | | | | | The driver core clears the driver data to NULL after device_release or on probe failure, since commit 0998d0631001288a5974afc0b2a5f568bcdecb4d (device-core: Ensure drvdata = NULL when no driver is bound). Thus, it is not needed to manually clear the device driver data to NULL. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Acked-by: Mathias Nyman <mathias.nyman@linux.intel.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* gpio-lynxpoint: Add X86 dependency and io-port handling header.Mathias Nyman2013-03-271-0/+1
| | | | | | | | Lynxpoint gpio driver uses X86 specific io-ports to control gpios Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* gpio/lynxpoint: add chipset gpio driver.Mathias Nyman2013-02-051-0/+469
Add gpio support for Intel Lynxpoint chipset. Lynxpoint supports 94 gpio pins which can generate interrupts. Driver will fail requests for pins that are marked as owned by ACPI, or set in an alternate mode (non-gpio). Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>