On 06/06/2026 10:47, Sam Day via B4 Relay wrote:
> From: Sam Day <[email protected]>
> 
> The qcom_pwrkey driver is currently binding to both the individual
> pwrkey/resin nodes, as well as the parent pon node.
> 
> In the next commit, a new glue driver will be introduced for pm8916_pon,
> which will continue binding these buttons, as well as additional
> drivers.
> 
> button_qcom_pmic_bind was renamed to button_qcom_pmic_setup and exported
> in a shared header, which the new pm8916_pon driver will call.
> 
> Signed-off-by: Sam Day <[email protected]>

Reviewed-by: Casey Connolly <[email protected]>

> ---
>  drivers/button/button-qcom-pmic.c |  6 +++---
>  include/button/qcom-pmic.h        | 17 +++++++++++++++++
>  2 files changed, 20 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/button/button-qcom-pmic.c 
> b/drivers/button/button-qcom-pmic.c
> index b823490d6d5..d9ac6a51df5 100644
> --- a/drivers/button/button-qcom-pmic.c
> +++ b/drivers/button/button-qcom-pmic.c
> @@ -13,9 +13,9 @@
>  #include <dm/lists.h>
>  #include <log.h>
>  #include <power/pmic.h>
> -#include <spmi/spmi.h>
>  #include <linux/bitops.h>
>  #include <time.h>
> +#include "button/qcom-pmic.h"
>  
>  #define REG_TYPE             0x4
>  #define REG_SUBTYPE          0x5
> @@ -174,7 +174,7 @@ static int qcom_pwrkey_probe(struct udevice *dev)
>       return 0;
>  }
>  
> -static int button_qcom_pmic_bind(struct udevice *parent)
> +int button_qcom_pmic_setup(struct udevice *parent)
>  {
>       struct udevice *dev;
>       ofnode node;
> @@ -227,7 +227,7 @@ U_BOOT_DRIVER(qcom_pwrkey) = {
>       .name = "qcom_pwrkey",
>       .id = UCLASS_BUTTON,
>       .of_match = qcom_pwrkey_ids,
> -     .bind = button_qcom_pmic_bind,
> +     .bind = button_qcom_pmic_setup,
>       .probe = qcom_pwrkey_probe,
>       .ops = &button_qcom_pmic_ops,
>       .priv_auto = sizeof(struct qcom_pmic_btn_priv),
> diff --git a/include/button/qcom-pmic.h b/include/button/qcom-pmic.h
> new file mode 100644
> index 00000000000..d321bbab460
> --- /dev/null
> +++ b/include/button/qcom-pmic.h
> @@ -0,0 +1,17 @@
> +/* SPDX-License-Identifier: GPL-2.0+ */
> +
> +#include <dm/device.h>
> +#include <linux/errno.h>
> +
> +#if CONFIG_IS_ENABLED(BUTTON_QCOM_PMIC)
> +/**
> + * Binds the qcom_pwrkey driver to compatible pwrkey/resin child nodes
> + * belonging to @parent
> + */
> +int button_qcom_pmic_setup(struct udevice *parent);
> +#else
> +static int button_qcom_pmic_setup(struct udevice *parent)
> +{
> +     return -ENOSYS;
> +}
> +#endif
> 

-- 
// Casey (she/her)

Reply via email to