- 14 3月, 2016 1 次提交
-
-
由 Wei Yongjun 提交于
In case of error, the function gpio_to_desc() returns NULL pointer not ERR_PTR(). The IS_ERR() test in the return value check should be replaced with NULL test. Signed-off-by: NWei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: NJacek Anaszewski <j.anaszewski@samsung.com>
-
- 04 1月, 2016 1 次提交
-
-
由 Jacek Anaszewski 提交于
Now the core implements the work queue, remove it from the drivers, and switch to using brightness_set_blocking op. Signed-off-by: NJacek Anaszewski <j.anaszewski@samsung.com> Cc: Raphael Assenat <raph@8d.com>
-
- 03 11月, 2015 1 次提交
-
-
由 Heiko Schocher 提交于
add a shutdown function for setting the gpio-leds into off state when shuting down. Signed-off-by: NHeiko Schocher <hs@denx.de> Signed-off-by: NJacek Anaszewski <j.anaszewski@samsung.com>
-
- 25 6月, 2015 1 次提交
-
-
由 Alexander Sverdlin 提交于
Commit 8a0662d9 introduced of_node and acpi_node symbols in global namespace but there were already ~63 of_node local variables or function parameters (no single acpi_node though, but anyway). After debugging undefined but used of_node local varible (which turned out to reference static function of_node() instead) it became clear that the names for the functions are too short and too generic for global scope. Signed-off-by: NAlexander Sverdlin <alexander.sverdlin@gmail.com> Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
-
- 26 5月, 2015 1 次提交
-
-
由 Geert Uytterhoeven 提交于
Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org> Acked-by: NJacek Anaszewski <j.anaszewski@samsung.com> Signed-off-by: NBryan Wu <cooloney@gmail.com>
-
- 05 5月, 2015 2 次提交
-
-
由 Jacek Anaszewski 提交于
Make sure that already registered LEDs will be torn down properly if the name of the next LED to create is unavailable. Signed-off-by: NJacek Anaszewski <j.anaszewski@samsung.com> Cc: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: NBryan Wu <cooloney@gmail.com>
-
由 Sebastian Hesselbarth 提交于
In gpio_leds_create(), when devm_get_gpiod_from_child() fails with -EPROBE_DEFER on the second gpio led to be created, the first already registered led is not torn down properly. This causes create_gpio_led() to fail for the first led on re-probe(). Fix this misbehaviour by incrementing num_leds only if all potentially failing calls completed successfully. Signed-off-by: NSebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Acked-by: NJacek Anaszewski <j.anaszewski@samsung.com> Signed-off-by: NBryan Wu <cooloney@gmail.com>
-
- 04 3月, 2015 1 次提交
-
-
由 Olliver Schinagl 提交于
The gpio binding document says that new code should always use named gpios. Patch 40b73183 added support to parse a list of gpios from child nodes, but does not make it possible to use named gpios. This patch adds the con_id property and implements it is done in gpiolib.c, where the old-style of using unnamed gpios still works. Signed-off-by: NOlliver Schinagl <oliver@schinagl.nl> Acked-by: NBryan Wu <cooloney@gmail.com> Acked-by: NDmitry Torokhov <dmitry.torokhov@gmail.com> Reviewed-by: NAlexandre Courbot <acourbot@nvidia.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
-
- 03 2月, 2015 1 次提交
-
-
由 Soren Brinkmann 提交于
Instead of overriding error codes, pass them on unmodified. This way a EPROBE_DEFER is correctly passed to the driver core. This results in the LED driver correctly requesting probe deferral in cases the GPIO controller is not yet available. Signed-off-by: NSoren Brinkmann <soren.brinkmann@xilinx.com> Reported-and-tested-by: NAndreas Färber <afaerber@suse.de> Signed-off-by: NBryan Wu <cooloney@gmail.com>
-
- 10 12月, 2014 1 次提交
-
-
由 Fabio Estevam 提交于
Commit a43f2cbb ("leds: leds-gpio: Make use of device property API") caused a regression by reading the incorrect string for the "default-state" property. Fix the property string check to restore the original behaviour. Fixes: a43f2cbb (leds: leds-gpio: Make use of device property API) Reported-by: NJean-Michel Hautbois <jean-michel.hautbois@vodalys.com> Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com> Acked-by: NBryan Wu <cooloney@gmail.com> Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
-
- 04 12月, 2014 1 次提交
-
-
由 Fabio Estevam 提交于
Since commit a43f2cbb ("leds: leds-gpio: Make use of device property API") it is no longer possible to register multiple gpio leds without passing the 'label' property. According to Documentation/devicetree/bindings/leds/common.txt: "Optional properties for child nodes: - label : The label for this LED. If omitted, the label is taken from the node name (excluding the unit address)." So retrieve the node name when the 'label' property is absent to keep the old behaviour and fix this regression. Fixes: a43f2cbb (leds: leds-gpio: Make use of device property API) Reported-by: NJean-Michel Hautbois <jean-michel.hautbois@vodalys.com> Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com> Acked-by: NGrant Likely <grant.likely@linaro.org> Acked-by: NBryan Wu <cooloney@gmail.com> Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
-
- 07 11月, 2014 1 次提交
-
-
由 Geert Uytterhoeven 提交于
In the legacy case, led_dat->gpiod is initialized correctly, but overwritten later by template->gpiod, which is NULL, causing leds-gpio to fail with: gpiod_direction_output: invalid GPIO leds-gpio: probe of leds-gpio failed with error -22 Move the initialization of led_dat->gpiod from template->gpiod up, and always use led_dat->gpiod later, to fix this. Fixes: 5c51277a (leds: leds-gpio: Add support for GPIO descriptors) Signed-off-by: NGeert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: NMika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
-
- 05 11月, 2014 3 次提交
-
-
由 Mika Westerberg 提交于
Commit 21f2aae91e902aad ("leds: leds-gpio: Add support for GPIO descriptors") already converted most of the driver to use GPIO descriptors. What is still missing is the platform specific hook gpio_blink_set() and board files which pass legacy GPIO numbers to this driver in platform data. In this patch we handle the former and convert gpio_blink_set() to take GPIO descriptor instead. In order to do this we convert the existing four users to accept GPIO descriptor and translate it to legacy GPIO number in the platform code. This effectively "pushes" legacy GPIO number usage from the driver to platforms. Also add comment to the remaining block describing that it is legacy code path and we are getting rid of it eventually. Suggested-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NMika Westerberg <mika.westerberg@linux.intel.com> Acked-by: NAndrew Lunn <andrew@lunn.ch> Reviewed-by: NLinus Walleij <linus.walleij@linaro.org> Acked-by: NAlexandre Courbot <acourbot@nvidia.com> Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
-
由 Rafael J. Wysocki 提交于
Make use of device property API in this driver so that both OF and ACPI based system can use the same driver. This change contains material from Max Eliaser and Mika Westerberg. Signed-off-by: NMika Westerberg <mika.westerberg@linux.intel.com> Acked-by: NBryan Wu <cooloney@gmail.com> Acked-by: NGrant Likely <grant.likely@linaro.org> Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
-
由 Mika Westerberg 提交于
GPIO descriptors are the preferred way over legacy GPIO numbers nowadays. Convert the driver to use GPIO descriptors internally but still allow passing legacy GPIO numbers from platform data to support existing platforms. Signed-off-by: NMika Westerberg <mika.westerberg@linux.intel.com> Acked-by: NAlexandre Courbot <acourbot@nvidia.com> Acked-by: NBryan Wu <cooloney@gmail.com> Acked-by: NArnd Bergmann <arnd@arndb.de> Acked-by: NGrant Likely <grant.likely@linaro.org> Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
-
- 20 10月, 2014 1 次提交
-
-
由 Wolfram Sang 提交于
A platform_driver does not need to set an owner, it will be populated by the driver core. Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
- 30 9月, 2014 2 次提交
-
-
由 Xiubo Li 提交于
Remove stray blank line and space. Signed-off-by: NXiubo Li <Li.Xiubo@freescale.com> Signed-off-by: NBryan Wu <cooloney@gmail.com>
-
由 Xiubo Li 提交于
If the inlcude headers aren't sorted alphabetically, then the logical choice is to append new ones, however that creates a lot of potential for conflicts or duplicates because every change will then add new includes in the same location. Signed-off-by: NXiubo Li <Li.Xiubo@freescale.com> Signed-off-by: NBryan Wu <cooloney@gmail.com>
-
- 07 3月, 2014 1 次提交
-
-
由 Paolo Pisati 提交于
Enable autoloading of leds-gpio module when a corresponing DT entry is present. Signed-off-by: NPaolo Pisati <paolo.pisati@canonical.com> Signed-off-by: NBryan Wu <cooloney@gmail.com>
-
- 28 2月, 2014 2 次提交
-
-
由 Paul Gortmaker 提交于
None of these files are actually using any __init type directives and hence don't need to include <linux/init.h>. Most are just a left over from __devinit and __cpuinit removal, or simply due to code getting copied from one driver to the next. Cc: Bryan Wu <cooloney@gmail.com> Cc: Richard Purdie <rpurdie@rpsys.net> Cc: linux-leds@vger.kernel.org Signed-off-by: NPaul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: NBryan Wu <cooloney@gmail.com>
-
由 Robin Gong 提交于
Some gpio-leds need retain the state even in suspend, such as charger led. But this property missed in devicetree, add it. (cooloney@gmail.com: fold DT binding updates into this patch) Signed-off-by: NRobin Gong <b38343@freescale.com> Signed-off-by: NBryan Wu <cooloney@gmail.com>
-
- 26 10月, 2013 1 次提交
-
-
由 Josh Wu 提交于
now the leds-gpio driver will create every child led node without checking the status is disabled or not. for example, if we have a led node like d3, and its status is disabled: leds { d3 { label = "d3"; gpios = <&pioE 24 0>; status = "disabled"; }; }; we except the d3 should not be created. And the gpios should not be request as well. But current driver will create d3 and request its gpio. This patch fix this by using for_each_available_child_of_node() and of_get_available_child_count() to enumerate all child nodes. So the disabled node will be inavailable. Signed-off-by: NJosh Wu <josh.wu@atmel.com> Signed-off-by: NBryan Wu <cooloney@gmail.com>
-
- 23 10月, 2013 1 次提交
-
-
由 Sachin Kamat 提交于
'of_match_ptr' is defined in linux/of.h. Include it explicitly. Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Signed-off-by: NBryan Wu <cooloney@gmail.com>
-
- 27 8月, 2013 1 次提交
-
-
由 Jingoo Han 提交于
Use the wrapper function for retrieving the platform data instead of accessing dev->platform_data directly. Signed-off-by: NJingoo Han <jg1.han@samsung.com> Signed-off-by: NBryan Wu <cooloney@gmail.com>
-
- 21 6月, 2013 2 次提交
-
-
由 Fabio Estevam 提交于
Since commit ab78029e (drivers/pinctrl: grab default handles from device core) we can rely on device core for handling pinctrl, so remove devm_pinctrl_get_select_default() from the driver. Reported-by: NStephen Warren <warren@wwwdotorg.org> Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com> Signed-off-by: NBryan Wu <cooloney@gmail.com>
-
由 Jingoo Han 提交于
The driver core clears the driver data to NULL after device_release or on probe failure, since commit 0998d063 (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: NJingoo Han <jg1.han@samsung.com> Signed-off-by: NBryan Wu <cooloney@gmail.com>
-
- 22 5月, 2013 1 次提交
-
-
由 Timo Teräs 提交于
This reverts commit a99d76f9 (leds: leds-gpio: use gpio_request_one) and commit 2d7c22f6 (leds: leds-gpio: set devm_gpio_request_one() flags param correctly) which was a fix of the first one. The conversion to devm_gpio_request in commit e3b1d44c (leds: leds-gpio: use devm_gpio_request_one) is not reverted. The problem is that gpio_cansleep() and gpio_get_value_cansleep() calls can crash if the gpio is not first reserved. Incidentally this same bug existed earlier and was fixed similarly in commit d95cbe61 (leds: Fix potential leds-gpio oops). But the OOPS is real. It happens when GPIOs are provided by module which is not yet loaded. So this fixes the following BUG during my ALIX boot (3.9.2-vanilla): BUG: unable to handle kernel NULL pointer dereference at 0000004c IP: [<c11287d6>] __gpio_cansleep+0xe/0x1a *pde = 00000000 Oops: 0000 [#1] SMP Modules linked in: leds_gpio(+) via_rhine mii cs5535_mfd mfd_core geode_rng rng_core geode_aes isofs nls_utf8 nls_cp437 vfat fat ata_generic pata_amd pata_cs5536 pata_acpi libata ehci_pci ehci_hcd ohci_hcd usb_storage usbcore usb_common sd_mod scsi_mod squashfs loop Pid: 881, comm: modprobe Not tainted 3.9.2 #1-Alpine EIP: 0060:[<c11287d6>] EFLAGS: 00010282 CPU: 0 EIP is at __gpio_cansleep+0xe/0x1a EAX: 00000000 EBX: cf364018 ECX: c132b8b9 EDX: 00000000 ESI: c13993a4 EDI: c1399370 EBP: cded9dbc ESP: cded9dbc DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 CR0: 8005003b CR2: 0000004c CR3: 0f0c4000 CR4: 00000090 DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 DR6: ffff0ff0 DR7: 00000400 Process modprobe (pid: 881, ti=cded8000 task=cf094aa0 task.ti=cded8000) Stack: cded9de0 d09471cb 00000000 c1399260 cf364014 00000000 c1399260 c1399254 d0949014 cded9df4 c118cd59 c1399260 d0949014 d0949014 cded9e08 c118ba47 c1399260 d0949014 c1399294 cded9e1c c118bb75 cded9e24 d0949014 00000000 Call Trace: [<d09471cb>] gpio_led_probe+0xba/0x203 [leds_gpio] [<c118cd59>] platform_drv_probe+0x26/0x48 [<c118ba47>] driver_probe_device+0x75/0x15c [<c118bb75>] __driver_attach+0x47/0x63 [<c118a727>] bus_for_each_dev+0x3c/0x66 [<c118b6f9>] driver_attach+0x14/0x16 [<c118bb2e>] ? driver_probe_device+0x15c/0x15c [<c118b3d5>] bus_add_driver+0xbd/0x1bc [<d08b4000>] ? 0xd08b3fff [<d08b4000>] ? 0xd08b3fff [<c118bffc>] driver_register+0x74/0xec [<d08b4000>] ? 0xd08b3fff [<c118c8e8>] platform_driver_register+0x38/0x3a [<d08b400d>] gpio_led_driver_init+0xd/0x1000 [leds_gpio] [<c100116c>] do_one_initcall+0x6b/0x10f [<d08b4000>] ? 0xd08b3fff [<c105e918>] load_module+0x1631/0x1907 [<c10975d6>] ? insert_vmalloc_vmlist+0x14/0x43 [<c1098d5b>] ? __vmalloc_node_range+0x13e/0x15f [<c105ec50>] sys_init_module+0x62/0x77 [<c1257888>] syscall_call+0x7/0xb EIP: [<c11287d6>] __gpio_cansleep+0xe/0x1a SS:ESP 0068:cded9dbc CR2: 000000000000004c ---[ end trace 5308fb20d2514822 ]--- Signed-off-by: NTimo Teräs <timo.teras@iki.f> Cc: Sachin Kamat <sachin.kamat@linaro.org> Cc: Raphael Assenat <raph@8d.com> Cc: Trent Piepho <tpiepho@freescale.com> Cc: Javier Martinez Canillas <javier.martinez@collabora.co.uk> Cc: Arnaud Patard <arnaud.patard@rtp-net.org> Cc: Ezequiel Garcia <ezequiel.garcia@free-electrons.com> Acked-by: NJingoo Han <jg1.han@samsung.com> Signed-off-by: NBryan Wu <cooloney@gmail.com>
-
- 03 1月, 2013 1 次提交
-
-
由 Javier Martinez Canillas 提交于
commit a99d76f9 leds: leds-gpio: use gpio_request_one changed the leds-gpio driver to use gpio_request_one() instead of gpio_request() + gpio_direction_output() Unfortunately, it also made a semantic change that breaks the leds-gpio driver. The gpio_request_one() flags parameter was set to: GPIOF_DIR_OUT | (led_dat->active_low ^ state) Since GPIOF_DIR_OUT is 0, the final flags value will just be the XOR'ed value of led_dat->active_low and state. This value were used to distinguish between HIGH/LOW output initial level and call gpio_direction_output() accordingly. With this new semantic gpio_request_one() will take the flags value of 1 as a configuration of input direction (GPIOF_DIR_IN) and will call gpio_direction_input() instead of gpio_direction_output(). int gpio_request_one(unsigned gpio, unsigned long flags, const char *label) { .. if (flags & GPIOF_DIR_IN) err = gpio_direction_input(gpio); else err = gpio_direction_output(gpio, (flags & GPIOF_INIT_HIGH) ? 1 : 0); .. } The right semantic is to evaluate led_dat->active_low ^ state and set the output initial level explicitly. Signed-off-by: NJavier Martinez Canillas <javier.martinez@collabora.co.uk> Reported-by: NArnaud Patard <arnaud.patard@rtp-net.org> Tested-by: NEzequiel Garcia <ezequiel.garcia@free-electrons.com> Signed-off-by: NBryan Wu <cooloney@gmail.com>
-
- 29 11月, 2012 3 次提交
-
-
由 Bill Pemberton 提交于
CONFIG_HOTPLUG is going away as an option so __devexit is no longer needed. Signed-off-by: NBill Pemberton <wfp5p@virginia.edu> Cc: Richard Purdie <rpurdie@rpsys.net> Cc: Jan-Simon Moeller <jansimon.moeller@gmx.de> Acked-by: NBryan Wu <cooloney@gmail.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Bill Pemberton 提交于
CONFIG_HOTPLUG is going away as an option so __devinit is no longer needed. Signed-off-by: NBill Pemberton <wfp5p@virginia.edu> Cc: Richard Purdie <rpurdie@rpsys.net> Cc: Jan-Simon Moeller <jansimon.moeller@gmx.de> Acked-by: NBryan Wu <cooloney@gmail.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Bill Pemberton 提交于
CONFIG_HOTPLUG is going away as an option so __devexit_p is no longer needed. Signed-off-by: NBill Pemberton <wfp5p@virginia.edu> Cc: Richard Purdie <rpurdie@rpsys.net> Cc: Jan-Simon Moeller <jansimon.moeller@gmx.de> Acked-by: NBryan Wu <cooloney@gmail.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 28 11月, 2012 2 次提交
-
-
由 Sachin Kamat 提交于
Fixes the following checkpatch warning: WARNING: Prefer netdev_info(netdev, ... then dev_info(dev, ... then pr_info(... to printk(KERN_INFO ... FILE: leds/leds-gpio.c:105: printk(KERN_INFO "Skipping unavailable LED gpio %d (%s)\n", Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Signed-off-by: NBryan Wu <cooloney@gmail.com>
-
由 Sachin Kamat 提交于
devm_gpio_request_one is device managed and makes error handling and cleanup simpler. Cc: Raphael Assenat <raph@8d.com> Cc: Trent Piepho <tpiepho@freescale.com> Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Signed-off-by: NBryan Wu <cooloney@gmail.com>
-
- 27 11月, 2012 2 次提交
-
-
由 Roland Stigge 提交于
This patch makes leds-gpio's probe() return -EPROBE_DEFER if any of the gpios to register are deferred themselves. This makes a change of gpio_leds_create_of()'s return value necessary: Instead of returning NULL on error, we now use ERR_PTR() error coding. Signed-off-by: NRoland Stigge <stigge@antcom.de> Signed-off-by: NBryan Wu <cooloney@gmail.com>
-
由 Jingoo Han 提交于
Using gpio_request_one can make the code simpler because it can set the direction and initial value in one shot. Signed-off-by: NJingoo Han <jg1.han@samsung.com> Signed-off-by: NBryan Wu <cooloney@gmail.com>
-
- 11 9月, 2012 4 次提交
-
-
由 AnilKumar Ch 提交于
Adopt pinctrl support to leds-gpio driver based on leds-gpio device pointer, pinctrl driver configure SoC pins to GPIO mode according to definitions provided in .dts file. Signed-off-by: NAnilKumar Ch <anilkumar@ti.com> Acked-by: NMarek Vasut <marex@denx.de> Reviewed-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NBryan Wu <bryan.wu@canonical.com>
-
由 Tobias Klauser 提交于
Use of_get_child_count() instead of custom implementation. Signed-off-by: NTobias Klauser <klto@zhaw.ch> Signed-off-by: NBryan Wu <bryan.wu@canonical.com>
-
由 Tobias Klauser 提交于
Use the wrapper functions, so we can directly pass a struct platfrom_device. Signed-off-by: NTobias Klauser <tklauser@distanz.ch> Signed-off-by: NBryan Wu <bryan.wu@canonical.com>
-
由 Tobias Klauser 提交于
Instead of having to define the match table to NULL if CONFIG_OF isn't set, use the of_match_ptr() macro which will do this for us. Signed-off-by: NTobias Klauser <tklauser@distanz.ch> Signed-off-by: NBryan Wu <bryan.wu@canonical.com>
-
- 24 7月, 2012 1 次提交
-
-
由 Sachin Kamat 提交于
devm_kzalloc() makes cleanup simpler. Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Signed-off-by: NBryan Wu <bryan.wu@canonical.com>
-