From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jon Hunter Subject: Re: [RFC 6/6] bus: Add support for Tegra NOR controller Date: Thu, 21 Jul 2016 16:12:05 +0100 Message-ID: <222d4179-a72f-56d1-246b-ab66af3057d9@nvidia.com> References: <1468935397-11926-1-git-send-email-mirza.krak@gmail.com> <1468935397-11926-7-git-send-email-mirza.krak@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1468935397-11926-7-git-send-email-mirza.krak-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> Sender: devicetree-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Mirza Krak , swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org, thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, gnurou-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org, pgaikwad-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org Cc: mturquette-rdvid1DuHRBWk0Htik3J/w@public.gmane.org, sboyd-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-clk-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, pawel.moll-5wv7dgnIgG8@public.gmane.org, mark.rutland-5wv7dgnIgG8@public.gmane.org, ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org, galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, linux-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org List-Id: devicetree@vger.kernel.org On 19/07/16 14:36, Mirza Krak wrote: > From: Mirza Krak > > The NOR bus can be used to connect high-speed devices such as NOR flash, > FPGAs, DSPs, CAN chips, Wi-Fi chips etc. > > Signed-off-by: Mirza Krak > --- > drivers/bus/Kconfig | 7 +++ > drivers/bus/Makefile | 1 + > drivers/bus/tegra-nor.c | 118 ++++++++++++++++++++++++++++++++++++++++++++++++ > 3 files changed, 126 insertions(+) > create mode 100644 drivers/bus/tegra-nor.c ... > +static int __init nor_probe(struct platform_device *pdev) > +{ > + struct resource *res; > + struct clk *clk; > + void __iomem *base; > + int ret; > + > + /* get the resource */ > + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); > + base = devm_ioremap_resource(&pdev->dev, res); > + if (IS_ERR(base)) > + return PTR_ERR(base); > + > + /* get the clock */ > + clk = devm_clk_get(&pdev->dev, NULL); > + if (IS_ERR(clk)) > + return PTR_ERR(clk); > + > + ret = clk_prepare_enable(clk); > + if (ret) > + return ret; > + > + /* parse the device node */ > + ret = nor_parse_dt(pdev, base); > + if (ret) { > + dev_err(&pdev->dev, "%s fail to create devices.\n", > + pdev->dev.of_node->full_name); > + clk_disable_unprepare(clk); > + return ret; > + } > + > + dev_info(&pdev->dev, "Driver registered.\n"); > + return 0; > +} The reset is defined in the binding, but never used. Should we make sure the reset is de-asserted in the probe? Jon -- nvpublic -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html