On Tue 12 May 20:57 PDT 2020, Baolin Wang wrote: > On Wed, May 13, 2020 at 8:55 AM Bjorn Andersson > <bjorn.andersson@xxxxxxxxxx> wrote: > > > > In all modern Qualcomm platforms the mutex region of the TCSR is forked > > off into its own block, all with a offset of 0 and stride of 4096. So > > add support for directly memory mapping this register space, to avoid > > the need to represent this block using a syscon. > > > > Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx> > > --- > > drivers/hwspinlock/qcom_hwspinlock.c | 72 +++++++++++++++++++++------- > > 1 file changed, 56 insertions(+), 16 deletions(-) > > > > diff --git a/drivers/hwspinlock/qcom_hwspinlock.c b/drivers/hwspinlock/qcom_hwspinlock.c [..] > > +static struct regmap *qcom_hwspinlock_probe_mmio(struct platform_device *pdev, > > + u32 *offset, u32 *stride) > > +{ > > + struct device *dev = &pdev->dev; > > + struct resource *res; > > + void __iomem *base; > > + > > + /* All modern platform has offset 0 and stride of 4k */ > > + *offset = 0; > > + *stride = 0x1000; > > + > > + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); > > + base = devm_ioremap_resource(&pdev->dev, res); > > I think you can use devm_platform_ioremap_resource(pdev, 0) to > simplify your code, otherwise looks good to me. You're right, I better fix this before someone with Coccinelle get the chance ;) > Reviewed-by: Baolin Wang <baolin.wang7@xxxxxxxxx> > Thanks, Bjorn