Re: [PATCH v2] hwspinlock/msm: Add support for Qualcomm MSM HW Mutex block

From: Courtney Cavin
Date: Fri Aug 29 2014 - 19:39:06 EST


On Sat, Aug 30, 2014 at 01:14:23AM +0200, Bjorn Andersson wrote:
> From: Kumar Gala <galak@xxxxxxxxxxxxxx>
>
> Add driver for Qualcomm MSM Hardware Mutex block that exists on
> newer Qualcomm SoCs.
>
> Cc: Jeffrey Hugo <jhugo@xxxxxxxxxxxxxx>
> Cc: Eric Holmberg <eholmber@xxxxxxxxxxxxxx>
> Cc: Courtney Cavin <courtney.cavin@xxxxxxxxxxxxxx>
> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx>
> [bjorn: added pm_runtime calls, from Courtney,
> added sfpb-mutex compatible,
> updated DT binding documentation formatting]
> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx>
> ---
[...]
> diff --git a/drivers/hwspinlock/Kconfig b/drivers/hwspinlock/Kconfig
> index 3612cb5..2cd39e2 100644
> --- a/drivers/hwspinlock/Kconfig
> +++ b/drivers/hwspinlock/Kconfig
> @@ -8,6 +8,17 @@ config HWSPINLOCK
>
> menu "Hardware Spinlock drivers"
>
> +config HWSPINLOCK_MSM
> + tristate "MSM Hardware Spinlock device"
> + depends on ARCH_QCOM

This should also depend on OF, as it won't compile or work without it.

> + select HWSPINLOCK
> + help
> + Say y here to support the MSM Hardware Mutex functionality, which
> + provides a synchronisation mechanism for the various processors on
> + the SoC.
> +
> + If unsure, say N.
> +
> config HWSPINLOCK_OMAP
> tristate "OMAP Hardware Spinlock device"
> depends on ARCH_OMAP4 || SOC_OMAP5 || SOC_DRA7XX || SOC_AM33XX || SOC_AM43XX
[...]
> +static const struct of_device_id msm_hwspinlock_of_match[] = {
> + { .compatible = "qcom,sfpb-mutex", .data = (void *)0x4 },
> + { .compatible = "qcom,tcsr-mutex", .data = (void *)0x80 },
> + { },
> +};

MODULE_DEVICE_TABLE(of, msm_hwspinlock_of_match); ?

[...]
> +static struct platform_driver msm_hwspinlock_driver = {
> + .probe = msm_hwspinlock_probe,
> + .remove = msm_hwspinlock_remove,
> + .driver = {
> + .name = "msm_hwspinlock",
> + .owner = THIS_MODULE,

No need, as:

#define platform_driver_register(drv) \
__platform_driver_register(drv, THIS_MODULE)
extern int __platform_driver_register(struct platform_driver *,
struct module *);

> + .of_match_table = msm_hwspinlock_of_match,
> + },
> +};

Otherwise, looks fine.

-Courtney
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/