All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] leds: Delete obsolete Versatile driver
@ 2017-05-04 12:03 Linus Walleij
  2017-05-04 12:14 ` Pavel Machek
  0 siblings, 1 reply; 5+ messages in thread
From: Linus Walleij @ 2017-05-04 12:03 UTC (permalink / raw)
  To: Jacek Anaszewski, Pavel Machek, Richard Purdie; +Cc: linux-leds, Linus Walleij

All users of the Versatile LED driver are deleted and replaced
with the very generic leds-syscon. Delete the old driver.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 drivers/leds/Kconfig          |   8 ---
 drivers/leds/Makefile         |   1 -
 drivers/leds/leds-versatile.c | 110 ------------------------------------------
 3 files changed, 119 deletions(-)
 delete mode 100644 drivers/leds/leds-versatile.c

diff --git a/drivers/leds/Kconfig b/drivers/leds/Kconfig
index 6c2999872090..fbe3468eb911 100644
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
@@ -651,14 +651,6 @@ config LEDS_SYSCON
 	  devices. This will only work with device tree enabled
 	  devices.
 
-config LEDS_VERSATILE
-	tristate "LED support for the ARM Versatile and RealView"
-	depends on ARCH_REALVIEW || ARCH_VERSATILE
-	depends on LEDS_CLASS
-	help
-	  This option enabled support for the LEDs on the ARM Versatile
-	  and RealView boards. Say Y to enabled these.
-
 config LEDS_PM8058
 	tristate "LED Support for the Qualcomm PM8058 PMIC"
 	depends on MFD_PM8XXX
diff --git a/drivers/leds/Makefile b/drivers/leds/Makefile
index 45f133962ed8..e4a8d007c5a9 100644
--- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile
@@ -62,7 +62,6 @@ obj-$(CONFIG_LEDS_MAX8997)		+= leds-max8997.o
 obj-$(CONFIG_LEDS_LM355x)		+= leds-lm355x.o
 obj-$(CONFIG_LEDS_BLINKM)		+= leds-blinkm.o
 obj-$(CONFIG_LEDS_SYSCON)		+= leds-syscon.o
-obj-$(CONFIG_LEDS_VERSATILE)		+= leds-versatile.o
 obj-$(CONFIG_LEDS_MENF21BMC)		+= leds-menf21bmc.o
 obj-$(CONFIG_LEDS_KTD2692)		+= leds-ktd2692.o
 obj-$(CONFIG_LEDS_POWERNV)		+= leds-powernv.o
diff --git a/drivers/leds/leds-versatile.c b/drivers/leds/leds-versatile.c
deleted file mode 100644
index 80553022d661..000000000000
--- a/drivers/leds/leds-versatile.c
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Driver for the 8 user LEDs found on the RealViews and Versatiles
- * Based on DaVinci's DM365 board code
- *
- * License terms: GNU General Public License (GPL) version 2
- * Author: Linus Walleij <triad@df.lth.se>
- */
-#include <linux/kernel.h>
-#include <linux/init.h>
-#include <linux/module.h>
-#include <linux/io.h>
-#include <linux/slab.h>
-#include <linux/leds.h>
-#include <linux/platform_device.h>
-
-struct versatile_led {
-	void __iomem		*base;
-	struct led_classdev	cdev;
-	u8			mask;
-};
-
-/*
- * The triggers lines up below will only be used if the
- * LED triggers are compiled in.
- */
-static const struct {
-	const char *name;
-	const char *trigger;
-} versatile_leds[] = {
-	{ "versatile:0", "heartbeat", },
-	{ "versatile:1", "mmc0", },
-	{ "versatile:2", "cpu0" },
-	{ "versatile:3", "cpu1" },
-	{ "versatile:4", "cpu2" },
-	{ "versatile:5", "cpu3" },
-	{ "versatile:6", },
-	{ "versatile:7", },
-};
-
-static void versatile_led_set(struct led_classdev *cdev,
-			      enum led_brightness b)
-{
-	struct versatile_led *led = container_of(cdev,
-						 struct versatile_led, cdev);
-	u32 reg = readl(led->base);
-
-	if (b != LED_OFF)
-		reg |= led->mask;
-	else
-		reg &= ~led->mask;
-	writel(reg, led->base);
-}
-
-static enum led_brightness versatile_led_get(struct led_classdev *cdev)
-{
-	struct versatile_led *led = container_of(cdev,
-						 struct versatile_led, cdev);
-	u32 reg = readl(led->base);
-
-	return (reg & led->mask) ? LED_FULL : LED_OFF;
-}
-
-static int versatile_leds_probe(struct platform_device *dev)
-{
-	int i;
-	struct resource *res;
-	void __iomem *base;
-
-	res = platform_get_resource(dev, IORESOURCE_MEM, 0);
-	base = devm_ioremap_resource(&dev->dev, res);
-	if (IS_ERR(base))
-		return PTR_ERR(base);
-
-	/* All off */
-	writel(0, base);
-	for (i = 0; i < ARRAY_SIZE(versatile_leds); i++) {
-		struct versatile_led *led;
-
-		led = kzalloc(sizeof(*led), GFP_KERNEL);
-		if (!led)
-			break;
-
-		led->base = base;
-		led->cdev.name = versatile_leds[i].name;
-		led->cdev.brightness_set = versatile_led_set;
-		led->cdev.brightness_get = versatile_led_get;
-		led->cdev.default_trigger = versatile_leds[i].trigger;
-		led->mask = BIT(i);
-
-		if (led_classdev_register(NULL, &led->cdev) < 0) {
-			kfree(led);
-			break;
-		}
-	}
-
-	return 0;
-}
-
-static struct platform_driver versatile_leds_driver = {
-	.driver = {
-		.name   = "versatile-leds",
-	},
-	.probe = versatile_leds_probe,
-};
-
-module_platform_driver(versatile_leds_driver);
-
-MODULE_AUTHOR("Linus Walleij <linus.walleij@linaro.org>");
-MODULE_DESCRIPTION("ARM Versatile LED driver");
-MODULE_LICENSE("GPL v2");
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] leds: Delete obsolete Versatile driver
  2017-05-04 12:03 [PATCH] leds: Delete obsolete Versatile driver Linus Walleij
@ 2017-05-04 12:14 ` Pavel Machek
  2017-05-04 12:23   ` Linus Walleij
  0 siblings, 1 reply; 5+ messages in thread
From: Pavel Machek @ 2017-05-04 12:14 UTC (permalink / raw)
  To: Linus Walleij; +Cc: Jacek Anaszewski, Richard Purdie, linux-leds

[-- Attachment #1: Type: text/plain, Size: 540 bytes --]

On Thu 2017-05-04 14:03:08, Linus Walleij wrote:
> All users of the Versatile LED driver are deleted and replaced
> with the very generic leds-syscon. Delete the old driver.

If someone has LEDS_VERSATILE selected, he'll be unhappy if we apply
first.

Are you sure no _users_ have LEDS_VERSATILE selected? Should we give
them some kind of warning? (#warning, printk, ...?)

								Pavel

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] leds: Delete obsolete Versatile driver
  2017-05-04 12:14 ` Pavel Machek
@ 2017-05-04 12:23   ` Linus Walleij
  2017-05-04 12:28     ` Pavel Machek
  0 siblings, 1 reply; 5+ messages in thread
From: Linus Walleij @ 2017-05-04 12:23 UTC (permalink / raw)
  To: Pavel Machek; +Cc: Jacek Anaszewski, Richard Purdie, linux-leds

On Thu, May 4, 2017 at 2:14 PM, Pavel Machek <pavel@ucw.cz> wrote:

> On Thu 2017-05-04 14:03:08, Linus Walleij wrote:
>> All users of the Versatile LED driver are deleted and replaced
>> with the very generic leds-syscon. Delete the old driver.
>
> If someone has LEDS_VERSATILE selected, he'll be unhappy if we apply
> first.
>
> Are you sure no _users_ have LEDS_VERSATILE selected? Should we give
> them some kind of warning? (#warning, printk, ...?)

Since the driver cannot probe from device tree or ACPI, the device must
be created in a board file using the device name "versatile-leds" which is
what the driver matches against.

For them to use it they must have out-of-tree boardfiles, and we discourage
both out-of-tree code and boardfiles.

The last boardfiles using this were deleted in
commit 7484c727b636a838818e71f6d03114633b25aba2
"ARM: realview: delete the RealView board files".

All Versatile, Integrator and RealView boards (the only one using the
versatile LEDs), have been migrated to use leds-syscon.c.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] leds: Delete obsolete Versatile driver
  2017-05-04 12:23   ` Linus Walleij
@ 2017-05-04 12:28     ` Pavel Machek
  2017-05-04 19:26       ` Jacek Anaszewski
  0 siblings, 1 reply; 5+ messages in thread
From: Pavel Machek @ 2017-05-04 12:28 UTC (permalink / raw)
  To: Linus Walleij; +Cc: Jacek Anaszewski, Richard Purdie, linux-leds

[-- Attachment #1: Type: text/plain, Size: 1430 bytes --]

On Thu 2017-05-04 14:23:39, Linus Walleij wrote:
> On Thu, May 4, 2017 at 2:14 PM, Pavel Machek <pavel@ucw.cz> wrote:
> 
> > On Thu 2017-05-04 14:03:08, Linus Walleij wrote:
> >> All users of the Versatile LED driver are deleted and replaced
> >> with the very generic leds-syscon. Delete the old driver.
> >
> > If someone has LEDS_VERSATILE selected, he'll be unhappy if we apply
> > first.
> >
> > Are you sure no _users_ have LEDS_VERSATILE selected? Should we give
> > them some kind of warning? (#warning, printk, ...?)
> 
> Since the driver cannot probe from device tree or ACPI, the device must
> be created in a board file using the device name "versatile-leds" which is
> what the driver matches against.
> 
> For them to use it they must have out-of-tree boardfiles, and we discourage
> both out-of-tree code and boardfiles.
> 
> The last boardfiles using this were deleted in
> commit 7484c727b636a838818e71f6d03114633b25aba2
> "ARM: realview: delete the RealView board files".
> 
> All Versatile, Integrator and RealView boards (the only one using the
> versatile LEDs), have been migrated to use leds-syscon.c.

Aha, people having out-of-tree boardfiles probably know enough to
handle this.

Acked-by: Pavel Machek <pavel@ucw.cz>
									Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] leds: Delete obsolete Versatile driver
  2017-05-04 12:28     ` Pavel Machek
@ 2017-05-04 19:26       ` Jacek Anaszewski
  0 siblings, 0 replies; 5+ messages in thread
From: Jacek Anaszewski @ 2017-05-04 19:26 UTC (permalink / raw)
  To: Pavel Machek, Linus Walleij; +Cc: Richard Purdie, linux-leds

On 05/04/2017 02:28 PM, Pavel Machek wrote:
> On Thu 2017-05-04 14:23:39, Linus Walleij wrote:
>> On Thu, May 4, 2017 at 2:14 PM, Pavel Machek <pavel@ucw.cz> wrote:
>>
>>> On Thu 2017-05-04 14:03:08, Linus Walleij wrote:
>>>> All users of the Versatile LED driver are deleted and replaced
>>>> with the very generic leds-syscon. Delete the old driver.
>>>
>>> If someone has LEDS_VERSATILE selected, he'll be unhappy if we apply
>>> first.
>>>
>>> Are you sure no _users_ have LEDS_VERSATILE selected? Should we give
>>> them some kind of warning? (#warning, printk, ...?)
>>
>> Since the driver cannot probe from device tree or ACPI, the device must
>> be created in a board file using the device name "versatile-leds" which is
>> what the driver matches against.
>>
>> For them to use it they must have out-of-tree boardfiles, and we discourage
>> both out-of-tree code and boardfiles.
>>
>> The last boardfiles using this were deleted in
>> commit 7484c727b636a838818e71f6d03114633b25aba2
>> "ARM: realview: delete the RealView board files".
>>
>> All Versatile, Integrator and RealView boards (the only one using the
>> versatile LEDs), have been migrated to use leds-syscon.c.
> 
> Aha, people having out-of-tree boardfiles probably know enough to
> handle this.
> 
> Acked-by: Pavel Machek <pavel@ucw.cz>

Applied to the for-4.13 branch of linux-leds.git, thanks.

-- 
Best regards,
Jacek Anaszewski

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-05-04 19:26 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-04 12:03 [PATCH] leds: Delete obsolete Versatile driver Linus Walleij
2017-05-04 12:14 ` Pavel Machek
2017-05-04 12:23   ` Linus Walleij
2017-05-04 12:28     ` Pavel Machek
2017-05-04 19:26       ` Jacek Anaszewski

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.