All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] i2c/pdx86: Add an i2c_acpi_client_count() helper function
@ 2021-08-03 16:00 Hans de Goede
  2021-08-03 16:00 ` [PATCH 1/4] i2c: acpi: " Hans de Goede
                   ` (4 more replies)
  0 siblings, 5 replies; 10+ messages in thread
From: Hans de Goede @ 2021-08-03 16:00 UTC (permalink / raw)
  To: Mark Gross, Andy Shevchenko, Wolfram Sang, Mika Westerberg
  Cc: Hans de Goede, platform-driver-x86, linux-i2c, linux-acpi

Hi All,

This patch-set adds a new i2c_acpi_client_count() helper function
to remove a bunch of code-duplication.

Since 3 of the 4 patches touch files under drivers/platform/x86 and
also since the drivers/platform/x86/dual_accel_detect.h file is new
in pdx86/for-next I believe that it would be best to just merge the
entire series through my pdx86 tree.

Mika + WSA, may I have your ack for merging the entire series through
the pdx86 tree (or please let me know if you want to proceed in a
different way) ?

Regards,

Hans


Hans de Goede (4):
  i2c: acpi: Add an i2c_acpi_client_count() helper function
  platform/x86: dual_accel_detect: Use the new i2c_acpi_client_count()
    helper
  platform/x86: i2c-multi-instantiate: Use the new
    i2c_acpi_client_count() helper
  platform/x86: intel_cht_int33fe: Use the new i2c_acpi_client_count()
    helper

 drivers/i2c/i2c-core-acpi.c                   | 32 +++++++++++++++++++
 drivers/platform/x86/dual_accel_detect.h      | 26 +--------------
 drivers/platform/x86/i2c-multi-instantiate.c  | 27 +---------------
 .../intel/int33fe/intel_cht_int33fe_common.c  | 29 +----------------
 include/linux/i2c.h                           |  5 +++
 5 files changed, 40 insertions(+), 79 deletions(-)

-- 
2.31.1


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

* [PATCH 1/4] i2c: acpi: Add an i2c_acpi_client_count() helper function
  2021-08-03 16:00 [PATCH 0/4] i2c/pdx86: Add an i2c_acpi_client_count() helper function Hans de Goede
@ 2021-08-03 16:00 ` Hans de Goede
  2021-08-03 16:50   ` Mika Westerberg
  2021-08-03 16:00 ` [PATCH 2/4] platform/x86: dual_accel_detect: Use the new i2c_acpi_client_count() helper Hans de Goede
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 10+ messages in thread
From: Hans de Goede @ 2021-08-03 16:00 UTC (permalink / raw)
  To: Mark Gross, Andy Shevchenko, Wolfram Sang, Mika Westerberg
  Cc: Hans de Goede, platform-driver-x86, linux-i2c, linux-acpi

We have 3 files now which have the need to count the number of
I2cSerialBus resources in an ACPI-device's resource-list.

Currently all implement their own helper function for this,
add a generic helper function to replace the 3 implementations.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 drivers/i2c/i2c-core-acpi.c | 32 ++++++++++++++++++++++++++++++++
 include/linux/i2c.h         |  5 +++++
 2 files changed, 37 insertions(+)

diff --git a/drivers/i2c/i2c-core-acpi.c b/drivers/i2c/i2c-core-acpi.c
index 6f0aa0ed3241..aaeeacc12121 100644
--- a/drivers/i2c/i2c-core-acpi.c
+++ b/drivers/i2c/i2c-core-acpi.c
@@ -69,6 +69,38 @@ bool i2c_acpi_get_i2c_resource(struct acpi_resource *ares,
 }
 EXPORT_SYMBOL_GPL(i2c_acpi_get_i2c_resource);
 
+static int i2c_acpi_resource_count(struct acpi_resource *ares, void *data)
+{
+	struct acpi_resource_i2c_serialbus *sb;
+	int *count = data;
+
+	if (i2c_acpi_get_i2c_resource(ares, &sb))
+		*count = *count + 1;
+
+	return 1;
+}
+
+/**
+ * i2c_acpi_client_count - Count the number of I2cSerialBus resources
+ * @adev:	ACPI device
+ *
+ * Returns the number of I2cSerialBus resources in the ACPI-device's
+ * resource-list; or a negative error code.
+ */
+int i2c_acpi_client_count(struct acpi_device *adev)
+{
+	int ret, count = 0;
+	LIST_HEAD(r);
+
+	ret = acpi_dev_get_resources(adev, &r, i2c_acpi_resource_count, &count);
+	if (ret < 0)
+		return ret;
+
+	acpi_dev_free_resource_list(&r);
+	return count;
+}
+EXPORT_SYMBOL_GPL(i2c_acpi_client_count);
+
 static int i2c_acpi_fill_info(struct acpi_resource *ares, void *data)
 {
 	struct i2c_acpi_lookup *lookup = data;
diff --git a/include/linux/i2c.h b/include/linux/i2c.h
index 3eb60a2e9e61..2ce3efbe9198 100644
--- a/include/linux/i2c.h
+++ b/include/linux/i2c.h
@@ -1010,6 +1010,7 @@ struct acpi_resource_i2c_serialbus;
 #if IS_ENABLED(CONFIG_ACPI)
 bool i2c_acpi_get_i2c_resource(struct acpi_resource *ares,
 			       struct acpi_resource_i2c_serialbus **i2c);
+int i2c_acpi_client_count(struct acpi_device *adev);
 u32 i2c_acpi_find_bus_speed(struct device *dev);
 struct i2c_client *i2c_acpi_new_device(struct device *dev, int index,
 				       struct i2c_board_info *info);
@@ -1020,6 +1021,10 @@ static inline bool i2c_acpi_get_i2c_resource(struct acpi_resource *ares,
 {
 	return false;
 }
+static inline int i2c_acpi_client_count(struct acpi_device *adev)
+{
+	return 0;
+}
 static inline u32 i2c_acpi_find_bus_speed(struct device *dev)
 {
 	return 0;
-- 
2.31.1


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

* [PATCH 2/4] platform/x86: dual_accel_detect: Use the new i2c_acpi_client_count() helper
  2021-08-03 16:00 [PATCH 0/4] i2c/pdx86: Add an i2c_acpi_client_count() helper function Hans de Goede
  2021-08-03 16:00 ` [PATCH 1/4] i2c: acpi: " Hans de Goede
@ 2021-08-03 16:00 ` Hans de Goede
  2021-08-03 16:00 ` [PATCH 3/4] platform/x86: i2c-multi-instantiate: " Hans de Goede
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 10+ messages in thread
From: Hans de Goede @ 2021-08-03 16:00 UTC (permalink / raw)
  To: Mark Gross, Andy Shevchenko, Wolfram Sang, Mika Westerberg
  Cc: Hans de Goede, platform-driver-x86, linux-i2c, linux-acpi

Use the new i2c_acpi_client_count() helper, this
results in a nice cleanup.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 drivers/platform/x86/dual_accel_detect.h | 26 +-----------------------
 1 file changed, 1 insertion(+), 25 deletions(-)

diff --git a/drivers/platform/x86/dual_accel_detect.h b/drivers/platform/x86/dual_accel_detect.h
index a9eae17cc43d..72e9624331c8 100644
--- a/drivers/platform/x86/dual_accel_detect.h
+++ b/drivers/platform/x86/dual_accel_detect.h
@@ -17,30 +17,6 @@
 #include <linux/acpi.h>
 #include <linux/i2c.h>
 
-static int dual_accel_i2c_resource_count(struct acpi_resource *ares, void *data)
-{
-	struct acpi_resource_i2c_serialbus *sb;
-	int *count = data;
-
-	if (i2c_acpi_get_i2c_resource(ares, &sb))
-		*count = *count + 1;
-
-	return 1;
-}
-
-static int dual_accel_i2c_client_count(struct acpi_device *adev)
-{
-	int ret, count = 0;
-	LIST_HEAD(r);
-
-	ret = acpi_dev_get_resources(adev, &r, dual_accel_i2c_resource_count, &count);
-	if (ret < 0)
-		return ret;
-
-	acpi_dev_free_resource_list(&r);
-	return count;
-}
-
 static bool dual_accel_detect_bosc0200(void)
 {
 	struct acpi_device *adev;
@@ -50,7 +26,7 @@ static bool dual_accel_detect_bosc0200(void)
 	if (!adev)
 		return false;
 
-	count = dual_accel_i2c_client_count(adev);
+	count = i2c_acpi_client_count(adev);
 
 	acpi_dev_put(adev);
 
-- 
2.31.1


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

* [PATCH 3/4] platform/x86: i2c-multi-instantiate: Use the new i2c_acpi_client_count() helper
  2021-08-03 16:00 [PATCH 0/4] i2c/pdx86: Add an i2c_acpi_client_count() helper function Hans de Goede
  2021-08-03 16:00 ` [PATCH 1/4] i2c: acpi: " Hans de Goede
  2021-08-03 16:00 ` [PATCH 2/4] platform/x86: dual_accel_detect: Use the new i2c_acpi_client_count() helper Hans de Goede
@ 2021-08-03 16:00 ` Hans de Goede
  2021-08-03 16:00 ` [PATCH 4/4] platform/x86: intel_cht_int33fe: " Hans de Goede
  2021-08-03 16:14 ` [PATCH 0/4] i2c/pdx86: Add an i2c_acpi_client_count() helper function Andy Shevchenko
  4 siblings, 0 replies; 10+ messages in thread
From: Hans de Goede @ 2021-08-03 16:00 UTC (permalink / raw)
  To: Mark Gross, Andy Shevchenko, Wolfram Sang, Mika Westerberg
  Cc: Hans de Goede, platform-driver-x86, linux-i2c, linux-acpi

Use the new i2c_acpi_client_count() helper, this
results in a nice cleanup.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 drivers/platform/x86/i2c-multi-instantiate.c | 27 +-------------------
 1 file changed, 1 insertion(+), 26 deletions(-)

diff --git a/drivers/platform/x86/i2c-multi-instantiate.c b/drivers/platform/x86/i2c-multi-instantiate.c
index 2cce82579d09..a50153ecd560 100644
--- a/drivers/platform/x86/i2c-multi-instantiate.c
+++ b/drivers/platform/x86/i2c-multi-instantiate.c
@@ -32,31 +32,6 @@ struct i2c_multi_inst_data {
 	struct i2c_client *clients[];
 };
 
-static int i2c_multi_inst_count(struct acpi_resource *ares, void *data)
-{
-	struct acpi_resource_i2c_serialbus *sb;
-	int *count = data;
-
-	if (i2c_acpi_get_i2c_resource(ares, &sb))
-		*count = *count + 1;
-
-	return 1;
-}
-
-static int i2c_multi_inst_count_resources(struct acpi_device *adev)
-{
-	LIST_HEAD(r);
-	int count = 0;
-	int ret;
-
-	ret = acpi_dev_get_resources(adev, &r, i2c_multi_inst_count, &count);
-	if (ret < 0)
-		return ret;
-
-	acpi_dev_free_resource_list(&r);
-	return count;
-}
-
 static int i2c_multi_inst_probe(struct platform_device *pdev)
 {
 	struct i2c_multi_inst_data *multi;
@@ -76,7 +51,7 @@ static int i2c_multi_inst_probe(struct platform_device *pdev)
 	adev = ACPI_COMPANION(dev);
 
 	/* Count number of clients to instantiate */
-	ret = i2c_multi_inst_count_resources(adev);
+	ret = i2c_acpi_client_count(adev);
 	if (ret < 0)
 		return ret;
 
-- 
2.31.1


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

* [PATCH 4/4] platform/x86: intel_cht_int33fe: Use the new i2c_acpi_client_count() helper
  2021-08-03 16:00 [PATCH 0/4] i2c/pdx86: Add an i2c_acpi_client_count() helper function Hans de Goede
                   ` (2 preceding siblings ...)
  2021-08-03 16:00 ` [PATCH 3/4] platform/x86: i2c-multi-instantiate: " Hans de Goede
@ 2021-08-03 16:00 ` Hans de Goede
  2021-08-03 16:14 ` [PATCH 0/4] i2c/pdx86: Add an i2c_acpi_client_count() helper function Andy Shevchenko
  4 siblings, 0 replies; 10+ messages in thread
From: Hans de Goede @ 2021-08-03 16:00 UTC (permalink / raw)
  To: Mark Gross, Andy Shevchenko, Wolfram Sang, Mika Westerberg
  Cc: Hans de Goede, platform-driver-x86, linux-i2c, linux-acpi

Use the new i2c_acpi_client_count() helper, this
results in a nice cleanup.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 .../intel/int33fe/intel_cht_int33fe_common.c  | 29 +------------------
 1 file changed, 1 insertion(+), 28 deletions(-)

diff --git a/drivers/platform/x86/intel/int33fe/intel_cht_int33fe_common.c b/drivers/platform/x86/intel/int33fe/intel_cht_int33fe_common.c
index 251ed9bac789..463222521e61 100644
--- a/drivers/platform/x86/intel/int33fe/intel_cht_int33fe_common.c
+++ b/drivers/platform/x86/intel/int33fe/intel_cht_int33fe_common.c
@@ -16,33 +16,6 @@
 
 #define EXPECTED_PTYPE		4
 
-static int cht_int33fe_i2c_res_filter(struct acpi_resource *ares, void *data)
-{
-	struct acpi_resource_i2c_serialbus *sb;
-	int *count = data;
-
-	if (i2c_acpi_get_i2c_resource(ares, &sb))
-		(*count)++;
-
-	return 1;
-}
-
-static int cht_int33fe_count_i2c_clients(struct device *dev)
-{
-	struct acpi_device *adev = ACPI_COMPANION(dev);
-	LIST_HEAD(resource_list);
-	int count = 0;
-	int ret;
-
-	ret = acpi_dev_get_resources(adev, &resource_list,
-				     cht_int33fe_i2c_res_filter, &count);
-	acpi_dev_free_resource_list(&resource_list);
-	if (ret < 0)
-		return ret;
-
-	return count;
-}
-
 static int cht_int33fe_check_hw_type(struct device *dev)
 {
 	unsigned long long ptyp;
@@ -69,7 +42,7 @@ static int cht_int33fe_check_hw_type(struct device *dev)
 		return -ENODEV;
 	}
 
-	ret = cht_int33fe_count_i2c_clients(dev);
+	ret = i2c_acpi_client_count(ACPI_COMPANION(dev));
 	if (ret < 0)
 		return ret;
 
-- 
2.31.1


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

* Re: [PATCH 0/4] i2c/pdx86: Add an i2c_acpi_client_count() helper function
  2021-08-03 16:00 [PATCH 0/4] i2c/pdx86: Add an i2c_acpi_client_count() helper function Hans de Goede
                   ` (3 preceding siblings ...)
  2021-08-03 16:00 ` [PATCH 4/4] platform/x86: intel_cht_int33fe: " Hans de Goede
@ 2021-08-03 16:14 ` Andy Shevchenko
  4 siblings, 0 replies; 10+ messages in thread
From: Andy Shevchenko @ 2021-08-03 16:14 UTC (permalink / raw)
  To: Hans de Goede
  Cc: Mark Gross, Andy Shevchenko, Wolfram Sang, Mika Westerberg,
	Platform Driver, linux-i2c, ACPI Devel Maling List

On Tue, Aug 3, 2021 at 7:01 PM Hans de Goede <hdegoede@redhat.com> wrote:
>
> Hi All,
>
> This patch-set adds a new i2c_acpi_client_count() helper function
> to remove a bunch of code-duplication.
>
> Since 3 of the 4 patches touch files under drivers/platform/x86 and
> also since the drivers/platform/x86/dual_accel_detect.h file is new
> in pdx86/for-next I believe that it would be best to just merge the
> entire series through my pdx86 tree.

Utterly in favour of this series
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Thanks for doing this!

> Mika + WSA, may I have your ack for merging the entire series through
> the pdx86 tree (or please let me know if you want to proceed in a
> different way) ?
>
> Regards,
>
> Hans
>
>
> Hans de Goede (4):
>   i2c: acpi: Add an i2c_acpi_client_count() helper function
>   platform/x86: dual_accel_detect: Use the new i2c_acpi_client_count()
>     helper
>   platform/x86: i2c-multi-instantiate: Use the new
>     i2c_acpi_client_count() helper
>   platform/x86: intel_cht_int33fe: Use the new i2c_acpi_client_count()
>     helper
>
>  drivers/i2c/i2c-core-acpi.c                   | 32 +++++++++++++++++++
>  drivers/platform/x86/dual_accel_detect.h      | 26 +--------------
>  drivers/platform/x86/i2c-multi-instantiate.c  | 27 +---------------
>  .../intel/int33fe/intel_cht_int33fe_common.c  | 29 +----------------
>  include/linux/i2c.h                           |  5 +++
>  5 files changed, 40 insertions(+), 79 deletions(-)
>
> --
> 2.31.1
>


-- 
With Best Regards,
Andy Shevchenko

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

* Re: [PATCH 1/4] i2c: acpi: Add an i2c_acpi_client_count() helper function
  2021-08-03 16:00 ` [PATCH 1/4] i2c: acpi: " Hans de Goede
@ 2021-08-03 16:50   ` Mika Westerberg
  2021-08-06 13:44     ` Hans de Goede
  0 siblings, 1 reply; 10+ messages in thread
From: Mika Westerberg @ 2021-08-03 16:50 UTC (permalink / raw)
  To: Hans de Goede
  Cc: Mark Gross, Andy Shevchenko, Wolfram Sang, platform-driver-x86,
	linux-i2c, linux-acpi

On Tue, Aug 03, 2021 at 06:00:41PM +0200, Hans de Goede wrote:
> We have 3 files now which have the need to count the number of
> I2cSerialBus resources in an ACPI-device's resource-list.
> 
> Currently all implement their own helper function for this,
> add a generic helper function to replace the 3 implementations.
> 
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>

Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>

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

* Re: [PATCH 1/4] i2c: acpi: Add an i2c_acpi_client_count() helper function
  2021-08-03 16:50   ` Mika Westerberg
@ 2021-08-06 13:44     ` Hans de Goede
  2021-08-10 20:44       ` Wolfram Sang
  0 siblings, 1 reply; 10+ messages in thread
From: Hans de Goede @ 2021-08-06 13:44 UTC (permalink / raw)
  To: Mika Westerberg
  Cc: Mark Gross, Andy Shevchenko, Wolfram Sang, platform-driver-x86,
	linux-i2c, linux-acpi

Hi,

On 8/3/21 6:50 PM, Mika Westerberg wrote:
> On Tue, Aug 03, 2021 at 06:00:41PM +0200, Hans de Goede wrote:
>> We have 3 files now which have the need to count the number of
>> I2cSerialBus resources in an ACPI-device's resource-list.
>>
>> Currently all implement their own helper function for this,
>> add a generic helper function to replace the 3 implementations.
>>
>> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> 
> Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>

Thank you, Wolfram are you also ok with me merging this
patch through the pdx86 tree?

Regards,

Hans


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

* Re: [PATCH 1/4] i2c: acpi: Add an i2c_acpi_client_count() helper function
  2021-08-06 13:44     ` Hans de Goede
@ 2021-08-10 20:44       ` Wolfram Sang
  2021-08-12 15:27         ` Hans de Goede
  0 siblings, 1 reply; 10+ messages in thread
From: Wolfram Sang @ 2021-08-10 20:44 UTC (permalink / raw)
  To: Hans de Goede
  Cc: Mika Westerberg, Mark Gross, Andy Shevchenko,
	platform-driver-x86, linux-i2c, linux-acpi

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


> >> We have 3 files now which have the need to count the number of
> >> I2cSerialBus resources in an ACPI-device's resource-list.
> >>
> >> Currently all implement their own helper function for this,
> >> add a generic helper function to replace the 3 implementations.
> >>
> >> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> > 
> > Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
> 
> Thank you, Wolfram are you also ok with me merging this
> patch through the pdx86 tree?

Sure!

Acked-by: Wolfram Sang <wsa@kernel.org>


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

* Re: [PATCH 1/4] i2c: acpi: Add an i2c_acpi_client_count() helper function
  2021-08-10 20:44       ` Wolfram Sang
@ 2021-08-12 15:27         ` Hans de Goede
  0 siblings, 0 replies; 10+ messages in thread
From: Hans de Goede @ 2021-08-12 15:27 UTC (permalink / raw)
  To: Wolfram Sang, Mika Westerberg, Mark Gross, Andy Shevchenko,
	platform-driver-x86, linux-i2c, linux-acpi

Hi,

On 8/10/21 10:44 PM, Wolfram Sang wrote:
> 
>>>> We have 3 files now which have the need to count the number of
>>>> I2cSerialBus resources in an ACPI-device's resource-list.
>>>>
>>>> Currently all implement their own helper function for this,
>>>> add a generic helper function to replace the 3 implementations.
>>>>
>>>> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
>>>
>>> Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
>>
>> Thank you, Wolfram are you also ok with me merging this
>> patch through the pdx86 tree?
> 
> Sure!
> 
> Acked-by: Wolfram Sang <wsa@kernel.org>

Thank you. I've added this series to my review-hans branch now.

I'll push it out to pdx86/for-next after some (build) testing.

Regards,

Hans


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

end of thread, other threads:[~2021-08-12 15:27 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-03 16:00 [PATCH 0/4] i2c/pdx86: Add an i2c_acpi_client_count() helper function Hans de Goede
2021-08-03 16:00 ` [PATCH 1/4] i2c: acpi: " Hans de Goede
2021-08-03 16:50   ` Mika Westerberg
2021-08-06 13:44     ` Hans de Goede
2021-08-10 20:44       ` Wolfram Sang
2021-08-12 15:27         ` Hans de Goede
2021-08-03 16:00 ` [PATCH 2/4] platform/x86: dual_accel_detect: Use the new i2c_acpi_client_count() helper Hans de Goede
2021-08-03 16:00 ` [PATCH 3/4] platform/x86: i2c-multi-instantiate: " Hans de Goede
2021-08-03 16:00 ` [PATCH 4/4] platform/x86: intel_cht_int33fe: " Hans de Goede
2021-08-03 16:14 ` [PATCH 0/4] i2c/pdx86: Add an i2c_acpi_client_count() helper function Andy Shevchenko

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.