Linux-LEDs Archive on lore.kernel.org
 help / color / Atom feed
* leds: apu: drop obsolete support for apu>=2
@ 2019-07-15 14:57 Enrico Weigelt, metux IT consult
  2019-07-15 14:57 ` [PATCH 1/6] leds: apu: drop superseeded apu2/3 led support Enrico Weigelt, metux IT consult
                   ` (6 more replies)
  0 siblings, 7 replies; 21+ messages in thread
From: Enrico Weigelt, metux IT consult @ 2019-07-15 14:57 UTC (permalink / raw)
  To: linux-kernel; +Cc: jacek.anaszewski, pavel, dmurphy, linux-leds

Hi folks,


the legacy apu LEDs driver has been superseded by the more complete
pcengines-apu2 platform driver, for APU >= 2. It only supports
the three front LEDs, but lacks all the other GPIOs (eg. button
or simsw), and conflicts with the pcengines-apu2 driver.

Old APUv1 has a very different chipset.

Therefore I propose dropping the apu>=2 support from the legacy
driver, reducing it to only the old (obsolete) APUv1 boards.


--mtx



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

* [PATCH 1/6] leds: apu: drop superseeded apu2/3 led support
  2019-07-15 14:57 leds: apu: drop obsolete support for apu>=2 Enrico Weigelt, metux IT consult
@ 2019-07-15 14:57 ` Enrico Weigelt, metux IT consult
  2019-07-16 19:30   ` Pavel Machek
  2019-07-15 14:57 ` [PATCH 2/6] leds: apu: drop enum_apu_led_platform_types Enrico Weigelt, metux IT consult
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 21+ messages in thread
From: Enrico Weigelt, metux IT consult @ 2019-07-15 14:57 UTC (permalink / raw)
  To: linux-kernel; +Cc: jacek.anaszewski, pavel, dmurphy, linux-leds

From: Enrico Weigelt <info@metux.net>

This driver only supports gpio-attached LEDs on apu1/2/3 boards,
but neither gpio's themselves, nor other gpio-attached devices
(eg. front button).

For apu2+ a newer, more complete driver exists, based on a generic
driver for the AMD SOCs gpio-controller, supporting LEDs as well
other devices. Therefore these boards don't need legacy support
from this driver anymore.

Both drivers claim the same device, so only one driver may exist
in a system, putting distros in the position to decide between
either apu2+ keys or apu1 led support.

Therefore drop the apu2+ led support from the old driver, solve
the conflict and reduce unnecessary code.

Signed-off-by: Enrico Weigelt <info@metux.net>
---
 drivers/leds/Kconfig    |   5 +-
 drivers/leds/leds-apu.c | 124 +++---------------------------------------------
 2 files changed, 10 insertions(+), 119 deletions(-)

diff --git a/drivers/leds/Kconfig b/drivers/leds/Kconfig
index b0fdeef..f7a3dd7 100644
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
@@ -74,9 +74,12 @@ config LEDS_APU
 	depends on LEDS_CLASS
 	depends on X86 && DMI
 	help
-	  This driver makes the PC Engines APU/APU2/APU3 front panel LEDs
+	  This driver makes the PC Engines APU1 front panel LEDs
 	  accessible from userspace programs through the LED subsystem.
 
+	  If you're looking for APU2/3, use the pcengines-apu2 driver.
+	  (symbol CONFIG_PCENGINES_APU2)
+
 	  To compile this driver as a module, choose M here: the
 	  module will be called leds-apu.
 
diff --git a/drivers/leds/leds-apu.c b/drivers/leds/leds-apu.c
index 8d42e46..140093a 100644
--- a/drivers/leds/leds-apu.c
+++ b/drivers/leds/leds-apu.c
@@ -47,12 +47,6 @@
 #define APU1_NUM_GPIO           3
 #define APU1_IOSIZE             sizeof(u8)
 
-#define APU2_FCH_ACPI_MMIO_BASE 0xFED80000
-#define APU2_FCH_GPIO_BASE      (APU2_FCH_ACPI_MMIO_BASE + 0x1500)
-#define APU2_GPIO_BIT_WRITE     22
-#define APU2_APU2_NUM_GPIO      4
-#define APU2_IOSIZE             sizeof(u32)
-
 /* LED access parameters */
 struct apu_param {
 	void __iomem *addr; /* for ioread/iowrite */
@@ -75,7 +69,6 @@ struct apu_led_profile {
 /* Supported platform types */
 enum apu_led_platform_types {
 	APU1_LED_PLATFORM,
-	APU2_LED_PLATFORM,
 };
 
 struct apu_led_pdata {
@@ -96,19 +89,6 @@ struct apu_led_pdata {
 	{ "apu:green:3", LED_OFF, APU1_FCH_GPIO_BASE + 2 * APU1_IOSIZE },
 };
 
-static const struct apu_led_profile apu2_led_profile[] = {
-	{ "apu2:green:1", LED_ON,  APU2_FCH_GPIO_BASE + 68 * APU2_IOSIZE },
-	{ "apu2:green:2", LED_OFF, APU2_FCH_GPIO_BASE + 69 * APU2_IOSIZE },
-	{ "apu2:green:3", LED_OFF, APU2_FCH_GPIO_BASE + 70 * APU2_IOSIZE },
-};
-
-/* Same as apu2_led_profile, but with "3" in the LED names. */
-static const struct apu_led_profile apu3_led_profile[] = {
-	{ "apu3:green:1", LED_ON,  APU2_FCH_GPIO_BASE + 68 * APU2_IOSIZE },
-	{ "apu3:green:2", LED_OFF, APU2_FCH_GPIO_BASE + 69 * APU2_IOSIZE },
-	{ "apu3:green:3", LED_OFF, APU2_FCH_GPIO_BASE + 70 * APU2_IOSIZE },
-};
-
 static const struct dmi_system_id apu_led_dmi_table[] __initconst = {
 	{
 		.ident = "apu",
@@ -117,54 +97,6 @@ struct apu_led_pdata {
 			DMI_MATCH(DMI_PRODUCT_NAME, "APU")
 		}
 	},
-	/* PC Engines APU2 with "Legacy" bios < 4.0.8 */
-	{
-		.ident = "apu2",
-		.matches = {
-			DMI_MATCH(DMI_SYS_VENDOR, "PC Engines"),
-			DMI_MATCH(DMI_BOARD_NAME, "APU2")
-		}
-	},
-	/* PC Engines APU2 with "Legacy" bios >= 4.0.8 */
-	{
-		.ident = "apu2",
-		.matches = {
-			DMI_MATCH(DMI_SYS_VENDOR, "PC Engines"),
-			DMI_MATCH(DMI_BOARD_NAME, "apu2")
-		}
-	},
-	/* PC Engines APU2 with "Mainline" bios */
-	{
-		.ident = "apu2",
-		.matches = {
-			DMI_MATCH(DMI_SYS_VENDOR, "PC Engines"),
-			DMI_MATCH(DMI_BOARD_NAME, "PC Engines apu2")
-		}
-	},
-	/* PC Engines APU3 with "Legacy" bios < 4.0.8 */
-	{
-		.ident = "apu3",
-		.matches = {
-			DMI_MATCH(DMI_SYS_VENDOR, "PC Engines"),
-			DMI_MATCH(DMI_BOARD_NAME, "APU3")
-		}
-	},
-	/* PC Engines APU3 with "Legacy" bios >= 4.0.8 */
-	{
-		.ident = "apu3",
-		.matches = {
-			DMI_MATCH(DMI_SYS_VENDOR, "PC Engines"),
-			DMI_MATCH(DMI_BOARD_NAME, "apu3")
-		}
-	},
-	/* PC Engines APU2 with "Mainline" bios */
-	{
-		.ident = "apu3",
-		.matches = {
-			DMI_MATCH(DMI_SYS_VENDOR, "PC Engines"),
-			DMI_MATCH(DMI_BOARD_NAME, "PC Engines apu3")
-		}
-	},
 	{}
 };
 MODULE_DEVICE_TABLE(dmi, apu_led_dmi_table);
@@ -178,25 +110,6 @@ static void apu1_led_brightness_set(struct led_classdev *led, enum led_brightnes
 	spin_unlock(&apu_led->lock);
 }
 
-static void apu2_led_brightness_set(struct led_classdev *led, enum led_brightness value)
-{
-	struct apu_led_priv *pled = cdev_to_priv(led);
-	u32 value_new;
-
-	spin_lock(&apu_led->lock);
-
-	value_new = ioread32(pled->param.addr);
-
-	if (value)
-		value_new &= ~BIT(APU2_GPIO_BIT_WRITE);
-	else
-		value_new |= BIT(APU2_GPIO_BIT_WRITE);
-
-	iowrite32(value_new, pled->param.addr);
-
-	spin_unlock(&apu_led->lock);
-}
-
 static int apu_led_config(struct device *dev, struct apu_led_pdata *apuld)
 {
 	int i;
@@ -219,8 +132,6 @@ static int apu_led_config(struct device *dev, struct apu_led_pdata *apuld)
 		led_cdev->flags = LED_CORE_SUSPENDRESUME;
 		if (apu_led->platform == APU1_LED_PLATFORM)
 			led_cdev->brightness_set = apu1_led_brightness_set;
-		else if (apu_led->platform == APU2_LED_PLATFORM)
-			led_cdev->brightness_set = apu2_led_brightness_set;
 
 		pled->param.addr = devm_ioremap(dev,
 				apu_led->profile[i].offset, apu_led->iosize);
@@ -254,27 +165,10 @@ static int __init apu_led_probe(struct platform_device *pdev)
 
 	apu_led->pdev = pdev;
 
-	if (dmi_match(DMI_PRODUCT_NAME, "APU")) {
-		apu_led->profile = apu1_led_profile;
-		apu_led->platform = APU1_LED_PLATFORM;
-		apu_led->num_led_instances = ARRAY_SIZE(apu1_led_profile);
-		apu_led->iosize = APU1_IOSIZE;
-	} else if (dmi_match(DMI_BOARD_NAME, "APU2") ||
-		   dmi_match(DMI_BOARD_NAME, "apu2") ||
-		   dmi_match(DMI_BOARD_NAME, "PC Engines apu2")) {
-		apu_led->profile = apu2_led_profile;
-		apu_led->platform = APU2_LED_PLATFORM;
-		apu_led->num_led_instances = ARRAY_SIZE(apu2_led_profile);
-		apu_led->iosize = APU2_IOSIZE;
-	} else if (dmi_match(DMI_BOARD_NAME, "APU3") ||
-		   dmi_match(DMI_BOARD_NAME, "apu3") ||
-		   dmi_match(DMI_BOARD_NAME, "PC Engines apu3")) {
-		apu_led->profile = apu3_led_profile;
-		/* Otherwise identical to APU2. */
-		apu_led->platform = APU2_LED_PLATFORM;
-		apu_led->num_led_instances = ARRAY_SIZE(apu3_led_profile);
-		apu_led->iosize = APU2_IOSIZE;
-	}
+	apu_led->profile = apu1_led_profile;
+	apu_led->platform = APU1_LED_PLATFORM;
+	apu_led->num_led_instances = ARRAY_SIZE(apu1_led_profile);
+	apu_led->iosize = APU1_IOSIZE;
 
 	spin_lock_init(&apu_led->lock);
 	return apu_led_config(&pdev->dev, apu_led);
@@ -295,13 +189,7 @@ static int __init apu_led_init(void)
 		pr_err("No PC Engines board detected\n");
 		return -ENODEV;
 	}
-	if (!(dmi_match(DMI_PRODUCT_NAME, "APU") ||
-	      dmi_match(DMI_PRODUCT_NAME, "APU2") ||
-	      dmi_match(DMI_PRODUCT_NAME, "apu2") ||
-	      dmi_match(DMI_PRODUCT_NAME, "PC Engines apu2") ||
-	      dmi_match(DMI_PRODUCT_NAME, "APU3") ||
-	      dmi_match(DMI_PRODUCT_NAME, "apu3") ||
-	      dmi_match(DMI_PRODUCT_NAME, "PC Engines apu3"))) {
+	if (!(dmi_match(DMI_PRODUCT_NAME, "APU"))) {
 		pr_err("Unknown PC Engines board: %s\n",
 				dmi_get_system_info(DMI_PRODUCT_NAME));
 		return -ENODEV;
@@ -337,6 +225,6 @@ static void __exit apu_led_exit(void)
 module_exit(apu_led_exit);
 
 MODULE_AUTHOR("Alan Mizrahi");
-MODULE_DESCRIPTION("PC Engines APU family LED driver");
+MODULE_DESCRIPTION("PC Engines APU1 front LED driver");
 MODULE_LICENSE("GPL v2");
 MODULE_ALIAS("platform:leds_apu");
-- 
1.9.1


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

* [PATCH 2/6] leds: apu: drop enum_apu_led_platform_types
  2019-07-15 14:57 leds: apu: drop obsolete support for apu>=2 Enrico Weigelt, metux IT consult
  2019-07-15 14:57 ` [PATCH 1/6] leds: apu: drop superseeded apu2/3 led support Enrico Weigelt, metux IT consult
@ 2019-07-15 14:57 ` Enrico Weigelt, metux IT consult
  2019-07-16 19:25   ` Pavel Machek
  2019-07-15 14:57 ` [PATCH 3/6] leds: apu: drop iosize field from priv data Enrico Weigelt, metux IT consult
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 21+ messages in thread
From: Enrico Weigelt, metux IT consult @ 2019-07-15 14:57 UTC (permalink / raw)
  To: linux-kernel; +Cc: jacek.anaszewski, pavel, dmurphy, linux-leds

From: Enrico Weigelt <info@metux.net>

As this driver now only supports the APU1 boards, we don't need
to differenciate between board types anymore. Therefore optimize
away the now obsolete code.

Signed-off-by: Enrico Weigelt <info@metux.net>
---
 drivers/leds/leds-apu.c | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/drivers/leds/leds-apu.c b/drivers/leds/leds-apu.c
index 140093a..37b054f 100644
--- a/drivers/leds/leds-apu.c
+++ b/drivers/leds/leds-apu.c
@@ -66,16 +66,10 @@ struct apu_led_profile {
 	unsigned long offset; /* for devm_ioremap */
 };
 
-/* Supported platform types */
-enum apu_led_platform_types {
-	APU1_LED_PLATFORM,
-};
-
 struct apu_led_pdata {
 	struct platform_device *pdev;
 	struct apu_led_priv *pled;
 	const struct apu_led_profile *profile;
-	enum apu_led_platform_types platform;
 	int num_led_instances;
 	int iosize; /* for devm_ioremap() */
 	spinlock_t lock;
@@ -130,8 +124,7 @@ static int apu_led_config(struct device *dev, struct apu_led_pdata *apuld)
 		led_cdev->brightness = apu_led->profile[i].brightness;
 		led_cdev->max_brightness = 1;
 		led_cdev->flags = LED_CORE_SUSPENDRESUME;
-		if (apu_led->platform == APU1_LED_PLATFORM)
-			led_cdev->brightness_set = apu1_led_brightness_set;
+		led_cdev->brightness_set = apu1_led_brightness_set;
 
 		pled->param.addr = devm_ioremap(dev,
 				apu_led->profile[i].offset, apu_led->iosize);
@@ -144,7 +137,7 @@ static int apu_led_config(struct device *dev, struct apu_led_pdata *apuld)
 		if (err)
 			goto error;
 
-		led_cdev->brightness_set(led_cdev, apu_led->profile[i].brightness);
+		apu1_led_brightness_set(led_cdev, apu_led->profile[i].brightness);
 	}
 
 	return 0;
@@ -166,7 +159,6 @@ static int __init apu_led_probe(struct platform_device *pdev)
 	apu_led->pdev = pdev;
 
 	apu_led->profile = apu1_led_profile;
-	apu_led->platform = APU1_LED_PLATFORM;
 	apu_led->num_led_instances = ARRAY_SIZE(apu1_led_profile);
 	apu_led->iosize = APU1_IOSIZE;
 
-- 
1.9.1


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

* [PATCH 3/6] leds: apu: drop iosize field from priv data
  2019-07-15 14:57 leds: apu: drop obsolete support for apu>=2 Enrico Weigelt, metux IT consult
  2019-07-15 14:57 ` [PATCH 1/6] leds: apu: drop superseeded apu2/3 led support Enrico Weigelt, metux IT consult
  2019-07-15 14:57 ` [PATCH 2/6] leds: apu: drop enum_apu_led_platform_types Enrico Weigelt, metux IT consult
@ 2019-07-15 14:57 ` Enrico Weigelt, metux IT consult
  2019-07-16 19:25   ` Pavel Machek
  2019-07-15 14:57 ` [PATCH 4/6] leds: apu: drop profile " Enrico Weigelt, metux IT consult
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 21+ messages in thread
From: Enrico Weigelt, metux IT consult @ 2019-07-15 14:57 UTC (permalink / raw)
  To: linux-kernel; +Cc: jacek.anaszewski, pavel, dmurphy, linux-leds

From: Enrico Weigelt <info@metux.net>

As this driver now only supports the APU1 boards, we don't need
to handle different io sizes anymore.

Signed-off-by: Enrico Weigelt <info@metux.net>
---
 drivers/leds/leds-apu.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/leds/leds-apu.c b/drivers/leds/leds-apu.c
index 37b054f..f79146c 100644
--- a/drivers/leds/leds-apu.c
+++ b/drivers/leds/leds-apu.c
@@ -71,7 +71,6 @@ struct apu_led_pdata {
 	struct apu_led_priv *pled;
 	const struct apu_led_profile *profile;
 	int num_led_instances;
-	int iosize; /* for devm_ioremap() */
 	spinlock_t lock;
 };
 
@@ -127,7 +126,7 @@ static int apu_led_config(struct device *dev, struct apu_led_pdata *apuld)
 		led_cdev->brightness_set = apu1_led_brightness_set;
 
 		pled->param.addr = devm_ioremap(dev,
-				apu_led->profile[i].offset, apu_led->iosize);
+				apu_led->profile[i].offset, APU1_IOSIZE);
 		if (!pled->param.addr) {
 			err = -ENOMEM;
 			goto error;
@@ -160,7 +159,6 @@ static int __init apu_led_probe(struct platform_device *pdev)
 
 	apu_led->profile = apu1_led_profile;
 	apu_led->num_led_instances = ARRAY_SIZE(apu1_led_profile);
-	apu_led->iosize = APU1_IOSIZE;
 
 	spin_lock_init(&apu_led->lock);
 	return apu_led_config(&pdev->dev, apu_led);
-- 
1.9.1


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

* [PATCH 4/6] leds: apu: drop profile field from priv data
  2019-07-15 14:57 leds: apu: drop obsolete support for apu>=2 Enrico Weigelt, metux IT consult
                   ` (2 preceding siblings ...)
  2019-07-15 14:57 ` [PATCH 3/6] leds: apu: drop iosize field from priv data Enrico Weigelt, metux IT consult
@ 2019-07-15 14:57 ` " Enrico Weigelt, metux IT consult
  2019-07-16 19:26   ` Pavel Machek
  2019-07-15 14:57 ` [PATCH 5/6] leds: apu: fix error on probing failure Enrico Weigelt, metux IT consult
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 21+ messages in thread
From: Enrico Weigelt, metux IT consult @ 2019-07-15 14:57 UTC (permalink / raw)
  To: linux-kernel; +Cc: jacek.anaszewski, pavel, dmurphy, linux-leds

From: Enrico Weigelt <info@metux.net>

As this driver now only supports the APU1 boards, we don't need
to handle profiles anymore and just can use the only one global
array directly.

Signed-off-by: Enrico Weigelt <info@metux.net>
---
 drivers/leds/leds-apu.c | 19 +++++++------------
 1 file changed, 7 insertions(+), 12 deletions(-)

diff --git a/drivers/leds/leds-apu.c b/drivers/leds/leds-apu.c
index f79146c..451cb9f 100644
--- a/drivers/leds/leds-apu.c
+++ b/drivers/leds/leds-apu.c
@@ -69,8 +69,6 @@ struct apu_led_profile {
 struct apu_led_pdata {
 	struct platform_device *pdev;
 	struct apu_led_priv *pled;
-	const struct apu_led_profile *profile;
-	int num_led_instances;
 	spinlock_t lock;
 };
 
@@ -109,24 +107,24 @@ static int apu_led_config(struct device *dev, struct apu_led_pdata *apuld)
 	int err;
 
 	apu_led->pled = devm_kcalloc(dev,
-		apu_led->num_led_instances, sizeof(struct apu_led_priv),
+		ARRAY_SIZE(apu1_led_profile), sizeof(struct apu_led_priv),
 		GFP_KERNEL);
 
 	if (!apu_led->pled)
 		return -ENOMEM;
 
-	for (i = 0; i < apu_led->num_led_instances; i++) {
+	for (i = 0; i < ARRAY_SIZE(apu1_led_profile); i++) {
 		struct apu_led_priv *pled = &apu_led->pled[i];
 		struct led_classdev *led_cdev = &pled->cdev;
 
-		led_cdev->name = apu_led->profile[i].name;
-		led_cdev->brightness = apu_led->profile[i].brightness;
+		led_cdev->name = apu1_led_profile[i].name;
+		led_cdev->brightness = apu1_led_profile[i].brightness;
 		led_cdev->max_brightness = 1;
 		led_cdev->flags = LED_CORE_SUSPENDRESUME;
 		led_cdev->brightness_set = apu1_led_brightness_set;
 
 		pled->param.addr = devm_ioremap(dev,
-				apu_led->profile[i].offset, APU1_IOSIZE);
+				apu1_led_profile[i].offset, APU1_IOSIZE);
 		if (!pled->param.addr) {
 			err = -ENOMEM;
 			goto error;
@@ -136,7 +134,7 @@ static int apu_led_config(struct device *dev, struct apu_led_pdata *apuld)
 		if (err)
 			goto error;
 
-		apu1_led_brightness_set(led_cdev, apu_led->profile[i].brightness);
+		apu1_led_brightness_set(led_cdev, apu1_led_profile[i].brightness);
 	}
 
 	return 0;
@@ -157,9 +155,6 @@ static int __init apu_led_probe(struct platform_device *pdev)
 
 	apu_led->pdev = pdev;
 
-	apu_led->profile = apu1_led_profile;
-	apu_led->num_led_instances = ARRAY_SIZE(apu1_led_profile);
-
 	spin_lock_init(&apu_led->lock);
 	return apu_led_config(&pdev->dev, apu_led);
 }
@@ -204,7 +199,7 @@ static void __exit apu_led_exit(void)
 {
 	int i;
 
-	for (i = 0; i < apu_led->num_led_instances; i++)
+	for (i = 0; i < ARRAY_SIZE(apu1_led_profile); i++)
 		led_classdev_unregister(&apu_led->pled[i].cdev);
 
 	platform_device_unregister(apu_led->pdev);
-- 
1.9.1


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

* [PATCH 5/6] leds: apu: fix error on probing failure
  2019-07-15 14:57 leds: apu: drop obsolete support for apu>=2 Enrico Weigelt, metux IT consult
                   ` (3 preceding siblings ...)
  2019-07-15 14:57 ` [PATCH 4/6] leds: apu: drop profile " Enrico Weigelt, metux IT consult
@ 2019-07-15 14:57 ` Enrico Weigelt, metux IT consult
  2019-07-16 19:28   ` Pavel Machek
  2019-07-15 14:57 ` [PATCH 6/6] leds: apu: add pr_fmt prefix for better log output Enrico Weigelt, metux IT consult
  2019-07-22 20:12 ` leds: apu: drop obsolete support for apu>=2 Jacek Anaszewski
  6 siblings, 1 reply; 21+ messages in thread
From: Enrico Weigelt, metux IT consult @ 2019-07-15 14:57 UTC (permalink / raw)
  To: linux-kernel; +Cc: jacek.anaszewski, pavel, dmurphy, linux-leds

From: Enrico Weigelt <info@metux.net>

The current error message on failed probing tends to be a bit
misleading. Fix it to tell exactly that an APU v1 was not found.

Signed-off-by: Enrico Weigelt <info@metux.net>
---
 drivers/leds/leds-apu.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/drivers/leds/leds-apu.c b/drivers/leds/leds-apu.c
index 451cb9f..892fea7 100644
--- a/drivers/leds/leds-apu.c
+++ b/drivers/leds/leds-apu.c
@@ -170,13 +170,9 @@ static int __init apu_led_init(void)
 	struct platform_device *pdev;
 	int err;
 
-	if (!dmi_match(DMI_SYS_VENDOR, "PC Engines")) {
-		pr_err("No PC Engines board detected\n");
-		return -ENODEV;
-	}
-	if (!(dmi_match(DMI_PRODUCT_NAME, "APU"))) {
-		pr_err("Unknown PC Engines board: %s\n",
-				dmi_get_system_info(DMI_PRODUCT_NAME));
+	if (!(dmi_match(DMI_SYS_VENDOR, "PC Engines") &&
+	      dmi_match(DMI_PRODUCT_NAME, "APU"))) {
+		pr_err("No PC Engines APUv1 board detected\n");
 		return -ENODEV;
 	}
 
-- 
1.9.1


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

* [PATCH 6/6] leds: apu: add pr_fmt prefix for better log output
  2019-07-15 14:57 leds: apu: drop obsolete support for apu>=2 Enrico Weigelt, metux IT consult
                   ` (4 preceding siblings ...)
  2019-07-15 14:57 ` [PATCH 5/6] leds: apu: fix error on probing failure Enrico Weigelt, metux IT consult
@ 2019-07-15 14:57 ` Enrico Weigelt, metux IT consult
  2019-07-16 19:28   ` Pavel Machek
  2019-07-22 20:12 ` leds: apu: drop obsolete support for apu>=2 Jacek Anaszewski
  6 siblings, 1 reply; 21+ messages in thread
From: Enrico Weigelt, metux IT consult @ 2019-07-15 14:57 UTC (permalink / raw)
  To: linux-kernel; +Cc: jacek.anaszewski, pavel, dmurphy, linux-leds

From: Enrico Weigelt <info@metux.net>

Define pr_fmt() macro for prefixing the module name to all
pr_*() outputs, in order to increase log message clarity.

Signed-off-by: Enrico Weigelt <info@metux.net>
---
 drivers/leds/leds-apu.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/leds/leds-apu.c b/drivers/leds/leds-apu.c
index 892fea7..fd8a41d 100644
--- a/drivers/leds/leds-apu.c
+++ b/drivers/leds/leds-apu.c
@@ -31,6 +31,8 @@
  * POSSIBILITY OF SUCH DAMAGE.
  */
 
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
 #include <linux/dmi.h>
 #include <linux/err.h>
 #include <linux/init.h>
-- 
1.9.1


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

* Re: [PATCH 2/6] leds: apu: drop enum_apu_led_platform_types
  2019-07-15 14:57 ` [PATCH 2/6] leds: apu: drop enum_apu_led_platform_types Enrico Weigelt, metux IT consult
@ 2019-07-16 19:25   ` Pavel Machek
  0 siblings, 0 replies; 21+ messages in thread
From: Pavel Machek @ 2019-07-16 19:25 UTC (permalink / raw)
  To: Enrico Weigelt, metux IT consult
  Cc: linux-kernel, jacek.anaszewski, dmurphy, linux-leds

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

On Mon 2019-07-15 16:57:29, Enrico Weigelt, metux IT consult wrote:
> From: Enrico Weigelt <info@metux.net>
> 
> As this driver now only supports the APU1 boards, we don't need
> to differenciate between board types anymore. Therefore optimize
> away the now obsolete code.
> 
> Signed-off-by: Enrico Weigelt <info@metux.net>

Acked-by: Pavel Machek <pavel@ucw.cz>

-- 
(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] 21+ messages in thread

* Re: [PATCH 3/6] leds: apu: drop iosize field from priv data
  2019-07-15 14:57 ` [PATCH 3/6] leds: apu: drop iosize field from priv data Enrico Weigelt, metux IT consult
@ 2019-07-16 19:25   ` Pavel Machek
  0 siblings, 0 replies; 21+ messages in thread
From: Pavel Machek @ 2019-07-16 19:25 UTC (permalink / raw)
  To: Enrico Weigelt, metux IT consult
  Cc: linux-kernel, jacek.anaszewski, dmurphy, linux-leds

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

On Mon 2019-07-15 16:57:30, Enrico Weigelt, metux IT consult wrote:
> From: Enrico Weigelt <info@metux.net>
> 
> As this driver now only supports the APU1 boards, we don't need
> to handle different io sizes anymore.
> 
> Signed-off-by: Enrico Weigelt <info@metux.net>

Acked-by: Pavel Machek <pavel@ucw.cz>

-- 
(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] 21+ messages in thread

* Re: [PATCH 4/6] leds: apu: drop profile field from priv data
  2019-07-15 14:57 ` [PATCH 4/6] leds: apu: drop profile " Enrico Weigelt, metux IT consult
@ 2019-07-16 19:26   ` Pavel Machek
  0 siblings, 0 replies; 21+ messages in thread
From: Pavel Machek @ 2019-07-16 19:26 UTC (permalink / raw)
  To: Enrico Weigelt, metux IT consult
  Cc: linux-kernel, jacek.anaszewski, dmurphy, linux-leds

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

On Mon 2019-07-15 16:57:31, Enrico Weigelt, metux IT consult wrote:
> From: Enrico Weigelt <info@metux.net>
> 
> As this driver now only supports the APU1 boards, we don't need
> to handle profiles anymore and just can use the only one global
> array directly.
> 
> Signed-off-by: Enrico Weigelt <info@metux.net>

Acked-by: Pavel Machek <pavel@ucw.cz>

-- 
(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] 21+ messages in thread

* Re: [PATCH 5/6] leds: apu: fix error on probing failure
  2019-07-15 14:57 ` [PATCH 5/6] leds: apu: fix error on probing failure Enrico Weigelt, metux IT consult
@ 2019-07-16 19:28   ` Pavel Machek
  2019-07-17 14:29     ` Enrico Weigelt, metux IT consult
  0 siblings, 1 reply; 21+ messages in thread
From: Pavel Machek @ 2019-07-16 19:28 UTC (permalink / raw)
  To: Enrico Weigelt, metux IT consult
  Cc: linux-kernel, jacek.anaszewski, dmurphy, linux-leds

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

On Mon 2019-07-15 16:57:32, Enrico Weigelt, metux IT consult wrote:
> From: Enrico Weigelt <info@metux.net>
> 
> The current error message on failed probing tends to be a bit
> misleading. Fix it to tell exactly that an APU v1 was not found.
> 
> Signed-off-by: Enrico Weigelt <info@metux.net>
> ---
>  drivers/leds/leds-apu.c | 10 +++-------
>  1 file changed, 3 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/leds/leds-apu.c b/drivers/leds/leds-apu.c
> index 451cb9f..892fea7 100644
> --- a/drivers/leds/leds-apu.c
> +++ b/drivers/leds/leds-apu.c
> @@ -170,13 +170,9 @@ static int __init apu_led_init(void)
>  	struct platform_device *pdev;
>  	int err;
>  
> -	if (!dmi_match(DMI_SYS_VENDOR, "PC Engines")) {
> -		pr_err("No PC Engines board detected\n");
> -		return -ENODEV;
> -	}
> -	if (!(dmi_match(DMI_PRODUCT_NAME, "APU"))) {
> -		pr_err("Unknown PC Engines board: %s\n",
> -				dmi_get_system_info(DMI_PRODUCT_NAME));
> +	if (!(dmi_match(DMI_SYS_VENDOR, "PC Engines") &&
> +	      dmi_match(DMI_PRODUCT_NAME, "APU"))) {
> +		pr_err("No PC Engines APUv1 board detected\n");

You may want to add here: "For APUv2,3 support, enable CONFIG_xxx".

If you have any APUv2 users (and you may), this si chance to get their
attention.

									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] 21+ messages in thread

* Re: [PATCH 6/6] leds: apu: add pr_fmt prefix for better log output
  2019-07-15 14:57 ` [PATCH 6/6] leds: apu: add pr_fmt prefix for better log output Enrico Weigelt, metux IT consult
@ 2019-07-16 19:28   ` Pavel Machek
  0 siblings, 0 replies; 21+ messages in thread
From: Pavel Machek @ 2019-07-16 19:28 UTC (permalink / raw)
  To: Enrico Weigelt, metux IT consult
  Cc: linux-kernel, jacek.anaszewski, dmurphy, linux-leds

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

On Mon 2019-07-15 16:57:33, Enrico Weigelt, metux IT consult wrote:
> From: Enrico Weigelt <info@metux.net>
> 
> Define pr_fmt() macro for prefixing the module name to all
> pr_*() outputs, in order to increase log message clarity.
> 
> Signed-off-by: Enrico Weigelt <info@metux.net>

Acked-by: Pavel Machek <pavel@ucw.cz>

-- 
(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] 21+ messages in thread

* Re: [PATCH 1/6] leds: apu: drop superseeded apu2/3 led support
  2019-07-15 14:57 ` [PATCH 1/6] leds: apu: drop superseeded apu2/3 led support Enrico Weigelt, metux IT consult
@ 2019-07-16 19:30   ` Pavel Machek
  2019-07-17 14:28     ` Enrico Weigelt, metux IT consult
  0 siblings, 1 reply; 21+ messages in thread
From: Pavel Machek @ 2019-07-16 19:30 UTC (permalink / raw)
  To: Enrico Weigelt, metux IT consult
  Cc: linux-kernel, jacek.anaszewski, dmurphy, linux-leds

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

On Mon 2019-07-15 16:57:28, Enrico Weigelt, metux IT consult wrote:
> From: Enrico Weigelt <info@metux.net>
> 
> This driver only supports gpio-attached LEDs on apu1/2/3 boards,
> but neither gpio's themselves, nor other gpio-attached devices
> (eg. front button).
> 
> For apu2+ a newer, more complete driver exists, based on a generic
> driver for the AMD SOCs gpio-controller, supporting LEDs as well
> other devices. Therefore these boards don't need legacy support
> from this driver anymore.
> 
> Both drivers claim the same device, so only one driver may exist
> in a system, putting distros in the position to decide between
> either apu2+ keys or apu1 led support.
> 
> Therefore drop the apu2+ led support from the old driver, solve
> the conflict and reduce unnecessary code.
> 
> Signed-off-by: Enrico Weigelt <info@metux.net>
> ---
>  drivers/leds/Kconfig    |   5 +-
>  drivers/leds/leds-apu.c | 124 +++---------------------------------------------
>  2 files changed, 10 insertions(+), 119 deletions(-)
> 
> diff --git a/drivers/leds/Kconfig b/drivers/leds/Kconfig
> index b0fdeef..f7a3dd7 100644
> --- a/drivers/leds/Kconfig
> +++ b/drivers/leds/Kconfig
> @@ -74,9 +74,12 @@ config LEDS_APU
>  	depends on LEDS_CLASS
>  	depends on X86 && DMI
>  	help
> -	  This driver makes the PC Engines APU/APU2/APU3 front panel LEDs
> +	  This driver makes the PC Engines APU1 front panel LEDs
>  	  accessible from userspace programs through the LED subsystem.
>  
> +	  If you're looking for APU2/3, use the pcengines-apu2 driver.
> +	  (symbol CONFIG_PCENGINES_APU2)
> +
>  	  To compile this driver as a module, choose M here: the
>  	  module will be called leds-apu.
>  

Ok, so I understand the reasons, but people updating from old kernels
(make oldconfig) will see nothing and their LEDs will stop working.

Can we do something to help them?

Rest is ok.

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] 21+ messages in thread

* Re: [PATCH 1/6] leds: apu: drop superseeded apu2/3 led support
  2019-07-16 19:30   ` Pavel Machek
@ 2019-07-17 14:28     ` Enrico Weigelt, metux IT consult
  0 siblings, 0 replies; 21+ messages in thread
From: Enrico Weigelt, metux IT consult @ 2019-07-17 14:28 UTC (permalink / raw)
  To: Pavel Machek, Enrico Weigelt, metux IT consult
  Cc: linux-kernel, jacek.anaszewski, dmurphy, linux-leds

On 16.07.19 21:30, Pavel Machek wrote:

Hi,

> Ok, so I understand the reasons, but people updating from old kernels
> (make oldconfig) will see nothing and their LEDs will stop working.
> 
> Can we do something to help them?

I could announce that in pcengines forum. There've been several
discussions on this matter, replying there should give the participants
an automatic mail.

So far, I haven't seen any distro that enabled the old driver, so I
guess the actual users all compiled the kernel on their own and should
notice the change early enough.


--mtx

-- 
Enrico Weigelt, metux IT consult
Free software and Linux embedded engineering
info@metux.net -- +49-151-27565287

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

* Re: [PATCH 5/6] leds: apu: fix error on probing failure
  2019-07-16 19:28   ` Pavel Machek
@ 2019-07-17 14:29     ` Enrico Weigelt, metux IT consult
  2019-07-17 16:37       ` Jacek Anaszewski
  0 siblings, 1 reply; 21+ messages in thread
From: Enrico Weigelt, metux IT consult @ 2019-07-17 14:29 UTC (permalink / raw)
  To: Pavel Machek, Enrico Weigelt, metux IT consult
  Cc: linux-kernel, jacek.anaszewski, dmurphy, linux-leds

On 16.07.19 21:28, Pavel Machek wrote:

> You may want to add here: "For APUv2,3 support, enable CONFIG_xxx".
> 
> If you have any APUv2 users (and you may), this si chance to get their
> attention.

Good idea. Shall I repost a changed patch ? (or repost the whole queue)


--mtx

-- 
Enrico Weigelt, metux IT consult
Free software and Linux embedded engineering
info@metux.net -- +49-151-27565287

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

* Re: [PATCH 5/6] leds: apu: fix error on probing failure
  2019-07-17 14:29     ` Enrico Weigelt, metux IT consult
@ 2019-07-17 16:37       ` Jacek Anaszewski
  2019-07-22 12:08         ` [PATCH v2] leds: apu: fix error message " Enrico Weigelt, metux IT consult
  0 siblings, 1 reply; 21+ messages in thread
From: Jacek Anaszewski @ 2019-07-17 16:37 UTC (permalink / raw)
  To: Enrico Weigelt, metux IT consult, Pavel Machek, Enrico Weigelt,
	metux IT consult
  Cc: linux-kernel, dmurphy, linux-leds

Hi Enrico

On 7/17/19 4:29 PM, Enrico Weigelt, metux IT consult wrote:
> On 16.07.19 21:28, Pavel Machek wrote:
> 
>> You may want to add here: "For APUv2,3 support, enable CONFIG_xxx".
>>
>> If you have any APUv2 users (and you may), this si chance to get their
>> attention.
> 
> Good idea. Shall I repost a changed patch ? (or repost the whole queue)

Please send only the patch in question (and bump the version).

-- 
Best regards,
Jacek Anaszewski

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

* [PATCH v2] leds: apu: fix error message on probing failure
  2019-07-17 16:37       ` Jacek Anaszewski
@ 2019-07-22 12:08         ` " Enrico Weigelt, metux IT consult
  2019-07-22 12:26           ` Pavel Machek
  0 siblings, 1 reply; 21+ messages in thread
From: Enrico Weigelt, metux IT consult @ 2019-07-22 12:08 UTC (permalink / raw)
  To: linux-kernel; +Cc: jacek.anaszewski, pavel, dmurphy, linux-leds

From: Enrico Weigelt <info@metux.net>

The current error message on failed probing tends to be a bit
misleading. Fix it to tell exactly that an APU v1 was not found.

Signed-off-by: Enrico Weigelt <info@metux.net>
---
 drivers/leds/leds-apu.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/drivers/leds/leds-apu.c b/drivers/leds/leds-apu.c
index 451cb9f..d794f49 100644
--- a/drivers/leds/leds-apu.c
+++ b/drivers/leds/leds-apu.c
@@ -170,13 +170,9 @@ static int __init apu_led_init(void)
 	struct platform_device *pdev;
 	int err;
 
-	if (!dmi_match(DMI_SYS_VENDOR, "PC Engines")) {
-		pr_err("No PC Engines board detected\n");
-		return -ENODEV;
-	}
-	if (!(dmi_match(DMI_PRODUCT_NAME, "APU"))) {
-		pr_err("Unknown PC Engines board: %s\n",
-				dmi_get_system_info(DMI_PRODUCT_NAME));
+	if (!(dmi_match(DMI_SYS_VENDOR, "PC Engines") &&
+	      dmi_match(DMI_PRODUCT_NAME, "APU"))) {
+		pr_err("No PC Engines APUv1 board detected. For APUv2,3 support, enable CONFIG_PCENGINES_APU2\n");
 		return -ENODEV;
 	}
 
-- 
1.9.1


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

* Re: [PATCH v2] leds: apu: fix error message on probing failure
  2019-07-22 12:08         ` [PATCH v2] leds: apu: fix error message " Enrico Weigelt, metux IT consult
@ 2019-07-22 12:26           ` Pavel Machek
  0 siblings, 0 replies; 21+ messages in thread
From: Pavel Machek @ 2019-07-22 12:26 UTC (permalink / raw)
  To: Enrico Weigelt, metux IT consult
  Cc: linux-kernel, jacek.anaszewski, dmurphy, linux-leds

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

On Mon 2019-07-22 14:08:51, Enrico Weigelt, metux IT consult wrote:
> From: Enrico Weigelt <info@metux.net>
> 
> The current error message on failed probing tends to be a bit
> misleading. Fix it to tell exactly that an APU v1 was not found.
> 
> Signed-off-by: Enrico Weigelt <info@metux.net>

Acked-by: Pavel Machek <pavel@ucw.cz>

-- 
(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] 21+ messages in thread

* Re: leds: apu: drop obsolete support for apu>=2
  2019-07-15 14:57 leds: apu: drop obsolete support for apu>=2 Enrico Weigelt, metux IT consult
                   ` (5 preceding siblings ...)
  2019-07-15 14:57 ` [PATCH 6/6] leds: apu: add pr_fmt prefix for better log output Enrico Weigelt, metux IT consult
@ 2019-07-22 20:12 ` Jacek Anaszewski
  2019-08-29  9:08   ` Enrico Weigelt, metux IT consult
  6 siblings, 1 reply; 21+ messages in thread
From: Jacek Anaszewski @ 2019-07-22 20:12 UTC (permalink / raw)
  To: Enrico Weigelt, metux IT consult, linux-kernel; +Cc: pavel, dmurphy, linux-leds

Hi Enrico,

Thank you for the patch set.

On 7/15/19 4:57 PM, Enrico Weigelt, metux IT consult wrote:
> Hi folks,
> 
> 
> the legacy apu LEDs driver has been superseded by the more complete
> pcengines-apu2 platform driver, for APU >= 2. It only supports
> the three front LEDs, but lacks all the other GPIOs (eg. button
> or simsw), and conflicts with the pcengines-apu2 driver.
> 
> Old APUv1 has a very different chipset.
> 
> Therefore I propose dropping the apu>=2 support from the legacy
> driver, reducing it to only the old (obsolete) APUv1 boards.


Patch set applied along with the update for the patch 5/6.

-- 
Best regards,
Jacek Anaszewski

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

* Re: leds: apu: drop obsolete support for apu>=2
  2019-07-22 20:12 ` leds: apu: drop obsolete support for apu>=2 Jacek Anaszewski
@ 2019-08-29  9:08   ` Enrico Weigelt, metux IT consult
  2019-08-29 19:51     ` Jacek Anaszewski
  0 siblings, 1 reply; 21+ messages in thread
From: Enrico Weigelt, metux IT consult @ 2019-08-29  9:08 UTC (permalink / raw)
  To: Jacek Anaszewski, Enrico Weigelt, metux IT consult, linux-kernel
  Cc: pavel, dmurphy, linux-leds

On 22.07.19 22:12, Jacek Anaszewski wrote:

Hi,

> Patch set applied along with the update for the patch 5/6.

What's the status of this patch set ?
Doesn't seem to have landed in Torvalds tree yet.


--mtx

-- 
Enrico Weigelt, metux IT consult
Free software and Linux embedded engineering
info@metux.net -- +49-151-27565287

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

* Re: leds: apu: drop obsolete support for apu>=2
  2019-08-29  9:08   ` Enrico Weigelt, metux IT consult
@ 2019-08-29 19:51     ` Jacek Anaszewski
  0 siblings, 0 replies; 21+ messages in thread
From: Jacek Anaszewski @ 2019-08-29 19:51 UTC (permalink / raw)
  To: Enrico Weigelt, metux IT consult, Enrico Weigelt,
	metux IT consult, linux-kernel
  Cc: pavel, dmurphy, linux-leds

On 8/29/19 11:08 AM, Enrico Weigelt, metux IT consult wrote:
> On 22.07.19 22:12, Jacek Anaszewski wrote:
> 
> Hi,
> 
>> Patch set applied along with the update for the patch 5/6.
> 
> What's the status of this patch set ?
> Doesn't seem to have landed in Torvalds tree yet.

It is in linux-next and will be sent upstream for 5.4-rc1.

-- 
Best regards,
Jacek Anaszewski

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

end of thread, back to index

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-15 14:57 leds: apu: drop obsolete support for apu>=2 Enrico Weigelt, metux IT consult
2019-07-15 14:57 ` [PATCH 1/6] leds: apu: drop superseeded apu2/3 led support Enrico Weigelt, metux IT consult
2019-07-16 19:30   ` Pavel Machek
2019-07-17 14:28     ` Enrico Weigelt, metux IT consult
2019-07-15 14:57 ` [PATCH 2/6] leds: apu: drop enum_apu_led_platform_types Enrico Weigelt, metux IT consult
2019-07-16 19:25   ` Pavel Machek
2019-07-15 14:57 ` [PATCH 3/6] leds: apu: drop iosize field from priv data Enrico Weigelt, metux IT consult
2019-07-16 19:25   ` Pavel Machek
2019-07-15 14:57 ` [PATCH 4/6] leds: apu: drop profile " Enrico Weigelt, metux IT consult
2019-07-16 19:26   ` Pavel Machek
2019-07-15 14:57 ` [PATCH 5/6] leds: apu: fix error on probing failure Enrico Weigelt, metux IT consult
2019-07-16 19:28   ` Pavel Machek
2019-07-17 14:29     ` Enrico Weigelt, metux IT consult
2019-07-17 16:37       ` Jacek Anaszewski
2019-07-22 12:08         ` [PATCH v2] leds: apu: fix error message " Enrico Weigelt, metux IT consult
2019-07-22 12:26           ` Pavel Machek
2019-07-15 14:57 ` [PATCH 6/6] leds: apu: add pr_fmt prefix for better log output Enrico Weigelt, metux IT consult
2019-07-16 19:28   ` Pavel Machek
2019-07-22 20:12 ` leds: apu: drop obsolete support for apu>=2 Jacek Anaszewski
2019-08-29  9:08   ` Enrico Weigelt, metux IT consult
2019-08-29 19:51     ` Jacek Anaszewski

Linux-LEDs Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-leds/0 linux-leds/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-leds linux-leds/ https://lore.kernel.org/linux-leds \
		linux-leds@vger.kernel.org linux-leds@archiver.kernel.org
	public-inbox-index linux-leds


Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-leds


AGPL code for this site: git clone https://public-inbox.org/ public-inbox