Switch from the deprecated of_property_read_bool() to the common device_property_read_bool() API. This makes the driver agnostic to the underlying firmware interface (DT or ACPI) and simplifies the logic.
Since the driver is no longer strictly dependent on Device Tree, include <linux/mod_devicetable.h> directly for the struct of_device_id definition, instead of relying on implicit inclusion via <linux/of_irq.h>, which has been removed as it is unused.
Also rename apb_ctrl_get_devtree_data() to apb_ctrl_get_fw_data() to better reflect the agnostic nature of the new implementation.
Signed-off-by: Julio Cesar Carvalho de Paula Souza julio191096@gmail.com ---
Changes in v4: - Fixed a typo in the v3 commit
Changes in v3: - Added changelog history as requested by the maintainer bot.
Changes in v2: - Shortened the subject line to match subsystem standards. - Updated Signed-off-by to use full real name.
drivers/staging/greybus/arche-apb-ctrl.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/drivers/staging/greybus/arche-apb-ctrl.c b/drivers/staging/greybus/arche-apb-ctrl.c index 90ab32638d3f..eea9648a461c 100644 --- a/drivers/staging/greybus/arche-apb-ctrl.c +++ b/drivers/staging/greybus/arche-apb-ctrl.c @@ -10,13 +10,14 @@ #include <linux/delay.h> #include <linux/gpio/consumer.h> #include <linux/interrupt.h> -#include <linux/of_irq.h> #include <linux/module.h> #include <linux/pinctrl/consumer.h> #include <linux/platform_device.h> #include <linux/pm.h> +#include <linux/property.h> #include <linux/regulator/consumer.h> #include <linux/spinlock.h> +#include <linux/mod_devicetable.h> #include "arche_platform.h"
static void apb_bootret_deassert(struct device *dev); @@ -314,7 +315,7 @@ static ssize_t state_show(struct device *dev,
static DEVICE_ATTR_RW(state);
-static int apb_ctrl_get_devtree_data(struct platform_device *pdev, +static int apb_ctrl_get_fw_data(struct platform_device *pdev, struct arche_apb_ctrl_drvdata *apb) { struct device *dev = &pdev->dev; @@ -378,7 +379,7 @@ static int apb_ctrl_get_devtree_data(struct platform_device *pdev, }
/* Only applicable for platform >= V2 */ - if (of_property_read_bool(pdev->dev.of_node, "gb,spi-en-active-high")) + if (device_property_read_bool(&pdev->dev, "gb,spi-en-active-high")) apb->spi_en_polarity_high = true;
return 0; @@ -394,7 +395,7 @@ static int arche_apb_ctrl_probe(struct platform_device *pdev) if (!apb) return -ENOMEM;
- ret = apb_ctrl_get_devtree_data(pdev, apb); + ret = apb_ctrl_get_fw_data(pdev, apb); if (ret) { dev_err(dev, "failed to get apb devicetree data %d\n", ret); return ret; @@ -403,7 +404,7 @@ static int arche_apb_ctrl_probe(struct platform_device *pdev) /* Initially set APB to OFF state */ apb->state = ARCHE_PLATFORM_STATE_OFF; /* Check whether device needs to be enabled on boot */ - if (of_property_read_bool(pdev->dev.of_node, "arche,init-disable")) + if (device_property_read_bool(&pdev->dev, "arche,init-disable")) apb->init_disabled = true;
platform_set_drvdata(pdev, apb);
On Thu, Dec 04, 2025 at 08:17:53PM -0300, Julioccps wrote:
Switch from the deprecated of_property_read_bool() to the common device_property_read_bool() API. This makes the driver agnostic to the underlying firmware interface (DT or ACPI) and simplifies the logic.
Since the driver is no longer strictly dependent on Device Tree, include <linux/mod_devicetable.h> directly for the struct of_device_id definition, instead of relying on implicit inclusion via <linux/of_irq.h>, which has been removed as it is unused.
Also rename apb_ctrl_get_devtree_data() to apb_ctrl_get_fw_data() to better reflect the agnostic nature of the new implementation.
Signed-off-by: Julio Cesar Carvalho de Paula Souza julio191096@gmail.com
Same comments as v3.
regards, dan carpenter