Le TOP des lunettes loupe à partir de 59 euros livraison offerte
Pour voir le message, veuillez utiliser un lecteur de mail compatible HTML Lien miroir : http://m10-fr.com/mc10_m/YT0xMyZiPTI5NjY4JmM9NDgzNjEyJmQ9MjAxMy0wMS0xMiAwNDoyMDowMSZlPTEmaD0yOTY2NiZmPTI5NjY4Jmc9Mjk2Njg= Lien de désinscription : http://m10-fr.com/mc10_unsub/YT0xMyZiPTI5NjY4JmM9NDgzNjEyJmQ9MjAxMy0wMS0xMiAwNDoyMDowMSZlPTEmaD0yOTY2NiZmPTI5NjY4Jmc9Mjk2Njg= -- Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122912 ___ spi-devel-general mailing list spi-devel-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/spi-devel-general
Re: [PATCH 5/5] spi: fix return value check in hspi_probe().
On Fri, Jan 11, 2013 at 03:02:02PM +, Grant Likely wrote: > On Thu, 3 Jan 2013 19:04:55 +0300, Dan Carpenter > wrote: > > On Sat, Dec 22, 2012 at 09:56:20AM +, Grant Likely wrote: > > > On Wed, 19 Dec 2012 19:39:14 +0300, Dan Carpenter > > > wrote: > > > > On Wed, Dec 19, 2012 at 03:11:54PM +, Grant Likely wrote: > > > > > On Tue, 11 Dec 2012 16:36:27 -0800 (PST), Kuninori Morimoto > > > > > wrote: > > > > > > > > > > > > Hi > > > > > > > > > > > > > According to its documentation, clk_get() returns a "valid > > > > > > > IS_ERR() condition > > > > > > > containing errno", so we should call IS_ERR() rather than a NULL > > > > > > > check. > > > > > > > > > > > > > > Signed-off-by: Cyril Roelandt > > > > > > > > > > > > Acked-by: Kuninori Morimoto > > > > > > > > > > Applied, thanks. > > > > > > > > In another thread, we were just talking about who clk_get() can > > > > return a NULL if !CONFIG_HAVE_CLK. That might change to match the > > > > documentation later... Not sure. > > > > > > So what is the solution here? Will the dummy clk_get() be changed, or is > > > there more work needed on the drivers? > > > > > > > This driver can't function without a clk. It should select that at > > build time instead of testing for it at probe. Just checking for > > IS_ERR() will NOT cause a NULL dereference so the patch is ok in > > that respect. I'm not sure if this can be build without > > CONFIG_HAVE_CLK. > > Your suggestion is to make this driver depend on CONFIG_HAVE_CLK? I'm > fine with that, but it doesn't sort out the core infrastructure question > about whether it is valid for the empty clk_get() to return NULL. Nor is > it a particularly sustainable solution (ie. if a large number of drivers > want to do the same thing). > We've spread this conversation out across several different threads. http://lists.infradead.org/pipermail/linux-arm-kernel/2013-January/139186.html Basically, drivers should use accessor functions which handle NULL pointers instead of dereferencing the pointer directly. regards, dan carpenter -- Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122912 ___ spi-devel-general mailing list spi-devel-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/spi-devel-general
Re: [PATCH v2 01/10] spi: tegra: Do not use clock name to get clock
On 01/11/2013 01:01 AM, Prashant Gaikwad wrote: > Since Tegra spi devices do not have multiple clocks, no need to use > clock name to get the clock. Cc'ing in the SPI maintainers as an FYI and for Acks; this patch needs to go through the Tegra tree due to dependencies. > Signed-off-by: Prashant Gaikwad > --- > This series depends on v4 of Tegra's ccf-rework patch series. > Tested on Ventana (Tegra20) and Cardhu (Tegra30). > Rebased on Tegra's for-3.9/soc and for-3.9/cleanup. > > Changes from V1: > - Fixed clock lookup for SPI and nvec drivers. > - Add clock information for nvec in device tree. > --- > drivers/spi/spi-tegra20-sflash.c |2 +- > drivers/spi/spi-tegra20-slink.c |2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/spi/spi-tegra20-sflash.c > b/drivers/spi/spi-tegra20-sflash.c > index 02feaa5..e5dce91 100644 > --- a/drivers/spi/spi-tegra20-sflash.c > +++ b/drivers/spi/spi-tegra20-sflash.c > @@ -525,7 +525,7 @@ static int tegra_sflash_probe(struct platform_device > *pdev) > goto exit_free_master; > } > > - tsd->clk = devm_clk_get(&pdev->dev, "spi"); > + tsd->clk = devm_clk_get(&pdev->dev, NULL); > if (IS_ERR(tsd->clk)) { > dev_err(&pdev->dev, "can not get clock\n"); > ret = PTR_ERR(tsd->clk); > diff --git a/drivers/spi/spi-tegra20-slink.c b/drivers/spi/spi-tegra20-slink.c > index fa208a5..e255e7a 100644 > --- a/drivers/spi/spi-tegra20-slink.c > +++ b/drivers/spi/spi-tegra20-slink.c > @@ -1191,7 +1191,7 @@ static int tegra_slink_probe(struct platform_device > *pdev) > goto exit_free_master; > } > > - tspi->clk = devm_clk_get(&pdev->dev, "slink"); > + tspi->clk = devm_clk_get(&pdev->dev, NULL); > if (IS_ERR(tspi->clk)) { > dev_err(&pdev->dev, "can not get clock\n"); > ret = PTR_ERR(tspi->clk); > -- Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and much more. Get web development skills now with LearnDevNow - 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122812 ___ spi-devel-general mailing list spi-devel-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/spi-devel-general
Re: [PATCH v4 00/14] DMA Engine support for AM33XX
On Friday 11 January 2013, Matt Porter wrote: > We have tightly coupled the link-time dependency for > omap_dma_filter_fn by going down the path of using > dma_request_slave_channel_compat() as Tony suggested to avoid extra > ifdefry. > > That dependency will go away naturally if all the "legacy" OMAP platforms > were required to only boot from DT...just as a newly added SoCs are. > > Are you suggesting unwinding the _compat() approach? No, I was thinking we could define omap_dma_filter_fn to NULL for the DT-only case. Arnd -- Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and much more. Get web development skills now with LearnDevNow - 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122812 ___ spi-devel-general mailing list spi-devel-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/spi-devel-general
Re: [PATCH v4 09/14] mmc: omap_hsmmc: set max_segs based on dma engine limitations
* Matt Porter [130110 21:47]: > The EDMA DMAC has a hardware limitation that prevents supporting > scatter gather lists with any number of segments. The DMA Engine > API reports the maximum number of segments a channel can support > via the optional dma_get_channel_caps() API. If the nr_segs > capability is present, the value is used to configure mmc->max_segs > appropriately. Acked-by: Tony Lindgren > Signed-off-by: Matt Porter > --- > drivers/mmc/host/omap_hsmmc.c |6 ++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c > index e79b12d..f74bd69 100644 > --- a/drivers/mmc/host/omap_hsmmc.c > +++ b/drivers/mmc/host/omap_hsmmc.c > @@ -1769,6 +1769,7 @@ static int omap_hsmmc_probe(struct platform_device > *pdev) > const struct of_device_id *match; > dma_cap_mask_t mask; > unsigned tx_req, rx_req; > + struct dmaengine_chan_caps *dma_chan_caps; > struct pinctrl *pinctrl; > > match = of_match_device(of_match_ptr(omap_mmc_of_match), &pdev->dev); > @@ -1935,6 +1936,11 @@ static int omap_hsmmc_probe(struct platform_device > *pdev) > goto err_irq; > } > > + /* Some DMA Engines only handle a limited number of SG segments */ > + dma_chan_caps = dma_get_channel_caps(host->rx_chan, DMA_DEV_TO_MEM); > + if (dma_chan_caps && dma_chan_caps->seg_nr) > + mmc->max_segs = dma_chan_caps->seg_nr; > + > /* Request IRQ for MMC operations */ > ret = request_irq(host->irq, omap_hsmmc_irq, 0, > mmc_hostname(mmc), host); > -- > 1.7.9.5 > -- Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and much more. Get web development skills now with LearnDevNow - 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122812 ___ spi-devel-general mailing list spi-devel-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/spi-devel-general
Re: [PATCH v4 10/14] mmc: omap_hsmmc: add generic DMA request support to the DT binding
* Matt Porter [130110 21:47]: > The binding definition is based on the generic DMA request binding. Acked-by: Tony Lindgren > Signed-off-by: Matt Porter > --- > .../devicetree/bindings/mmc/ti-omap-hsmmc.txt | 25 > +++- > 1 file changed, 24 insertions(+), 1 deletion(-) > > diff --git a/Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt > b/Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt > index ed271fc..826cc51 100644 > --- a/Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt > +++ b/Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt > @@ -20,8 +20,28 @@ ti,dual-volt: boolean, supports dual voltage cards > ti,non-removable: non-removable slot (like eMMC) > ti,needs-special-reset: Requires a special softreset sequence > ti,needs-special-hs-handling: HSMMC IP needs special setting for handling > High Speed > +dmas: DMA controller phandle and DMA request value ordered pair > +One tx and one rx pair is required. > +dma-names: DMA request names. These strings correspond 1:1 with > +the ordered pairs in dmas. The RX request must be "rx" and the > +TX request must be "tx". > + > +Examples: > + > +[hwmod populated DMA resources] > + > + mmc1: mmc@0x4809c000 { > + compatible = "ti,omap4-hsmmc"; > + reg = <0x4809c000 0x400>; > + ti,hwmods = "mmc1"; > + ti,dual-volt; > + bus-width = <4>; > + vmmc-supply = <&vmmc>; /* phandle to regulator node */ > + ti,non-removable; > + }; > + > +[generic DMA request binding] > > -Example: > mmc1: mmc@0x4809c000 { > compatible = "ti,omap4-hsmmc"; > reg = <0x4809c000 0x400>; > @@ -30,4 +50,7 @@ Example: > bus-width = <4>; > vmmc-supply = <&vmmc>; /* phandle to regulator node */ > ti,non-removable; > + dmas = <&edma 24 > + &edma 25>; > + dma-names = "tx", "rx"; > }; > -- > 1.7.9.5 > -- Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and much more. Get web development skills now with LearnDevNow - 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122812 ___ spi-devel-general mailing list spi-devel-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/spi-devel-general
Re: [PATCH v4 11/14] ARM: dts: add AM33XX MMC support
* Matt Porter [130110 21:47]: > Adds AM33XX MMC support for am335x-bone, am335x-evm, and > am335x-evmsk.. This one should be queued separately by Benoit: Acked-by: Tony Lindgren > Signed-off-by: Matt Porter > --- > arch/arm/boot/dts/am335x-bone.dts |7 +++ > arch/arm/boot/dts/am335x-evm.dts |7 +++ > arch/arm/boot/dts/am335x-evmsk.dts |7 +++ > arch/arm/boot/dts/am33xx.dtsi | 28 > 4 files changed, 49 insertions(+) > > diff --git a/arch/arm/boot/dts/am335x-bone.dts > b/arch/arm/boot/dts/am335x-bone.dts > index 11b240c..a154ce0 100644 > --- a/arch/arm/boot/dts/am335x-bone.dts > +++ b/arch/arm/boot/dts/am335x-bone.dts > @@ -120,6 +120,8 @@ > }; > > ldo3_reg: regulator@5 { > + regulator-min-microvolt = <180>; > + regulator-max-microvolt = <330>; > regulator-always-on; > }; > > @@ -136,3 +138,8 @@ > &cpsw_emac1 { > phy_id = <&davinci_mdio>, <1>; > }; > + > +&mmc1 { > + status = "okay"; > + vmmc-supply = <&ldo3_reg>; > +}; > diff --git a/arch/arm/boot/dts/am335x-evm.dts > b/arch/arm/boot/dts/am335x-evm.dts > index d649644..2907da6 100644 > --- a/arch/arm/boot/dts/am335x-evm.dts > +++ b/arch/arm/boot/dts/am335x-evm.dts > @@ -232,6 +232,8 @@ > }; > > vmmc_reg: regulator@12 { > + regulator-min-microvolt = <180>; > + regulator-max-microvolt = <330>; > regulator-always-on; > }; > }; > @@ -244,3 +246,8 @@ > &cpsw_emac1 { > phy_id = <&davinci_mdio>, <1>; > }; > + > +&mmc1 { > + status = "okay"; > + vmmc-supply = <&vmmc_reg>; > +}; > diff --git a/arch/arm/boot/dts/am335x-evmsk.dts > b/arch/arm/boot/dts/am335x-evmsk.dts > index f5a6162..f050c46 100644 > --- a/arch/arm/boot/dts/am335x-evmsk.dts > +++ b/arch/arm/boot/dts/am335x-evmsk.dts > @@ -244,7 +244,14 @@ > }; > > vmmc_reg: regulator@12 { > + regulator-min-microvolt = <180>; > + regulator-max-microvolt = <330>; > regulator-always-on; > }; > }; > }; > + > +&mmc1 { > + status = "okay"; > + vmmc-supply = <&vmmc_reg>; > +}; > diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi > index e711ffb..278b75d 100644 > --- a/arch/arm/boot/dts/am33xx.dtsi > +++ b/arch/arm/boot/dts/am33xx.dtsi > @@ -235,6 +235,34 @@ > status = "disabled"; > }; > > + mmc1: mmc@4806 { > + compatible = "ti,omap3-hsmmc"; > + ti,hwmods = "mmc1"; > + ti,dual-volt; > + ti,needs-special-reset; > + dmas = <&edma 24 > + &edma 25>; > + dma-names = "tx", "rx"; > + status = "disabled"; > + }; > + > + mmc2: mmc@481d8000 { > + compatible = "ti,omap3-hsmmc"; > + ti,hwmods = "mmc2"; > + ti,needs-special-reset; > + dmas = <&edma 2 > + &edma 3>; > + dma-names = "tx", "rx"; > + status = "disabled"; > + }; > + > + mmc3: mmc@4781 { > + compatible = "ti,omap3-hsmmc"; > + ti,hwmods = "mmc3"; > + ti,needs-special-reset; > + status = "disabled"; > + }; > + > wdt2: wdt@44e35000 { > compatible = "ti,omap3-wdt"; > ti,hwmods = "wd_timer2"; > -- > 1.7.9.5 > -- Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and much more. Get web development skills now with LearnDevNow - 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122812 ___ spi-devel-general mailing list spi-devel-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/spi-devel-general
Re: [PATCH v4, 03/14] ARM: edma: add AM33XX support to the private EDMA API
Hi Matt, On Friday 11 January 2013 at 06:48:39, Matt Porter wrote: > diff --git a/arch/arm/common/edma.c b/arch/arm/common/edma.c > index a3d189d..1951d63 100644 > --- a/arch/arm/common/edma.c > +++ b/arch/arm/common/edma.c > @@ -24,6 +24,13 @@ > #include > #include > #include > +#include > +#include > +#include > +#include > +#include > +#include > +#include You add the include linux/of_dma.h here, but maybe you missed to add the file itself. It is not in Linus v3.8-rc3 tree, not in the patches yours depend on listed and not in your patchset. Regards, Lars -- Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and much more. Get web development skills now with LearnDevNow - 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122812 ___ spi-devel-general mailing list spi-devel-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/spi-devel-general
Re: [PATCH v4 07/14] dmaengine: add dma_request_slave_channel_compat()
* Matt Porter [130110 21:47]: > Adds a dma_request_slave_channel_compat() wrapper which accepts > both the arguments from dma_request_channel() and > dma_request_slave_channel(). Based on whether the driver is > instantiated via DT, the appropriate channel request call will be > made. > > This allows for a much cleaner migration of drivers to the > dmaengine DT API as platforms continue to be mixed between those > that boot using DT and those that do not. Cool, looks like the driver changes are quite minimal after this: Acked-by: Tony Lindgren > > Suggested-by: Tony Lindgren > Signed-off-by: Matt Porter > --- > include/linux/dmaengine.h | 10 ++ > 1 file changed, 10 insertions(+) > > diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h > index 9fd0c5b..64f9f69 100644 > --- a/include/linux/dmaengine.h > +++ b/include/linux/dmaengine.h > @@ -1047,6 +1047,16 @@ void dma_run_dependencies(struct > dma_async_tx_descriptor *tx); > struct dma_chan *dma_find_channel(enum dma_transaction_type tx_type); > struct dma_chan *net_dma_find_channel(void); > #define dma_request_channel(mask, x, y) __dma_request_channel(&(mask), x, y) > +static inline struct dma_chan > +*dma_request_slave_channel_compat(dma_cap_mask_t mask, dma_filter_fn fn, > + void *fn_param, struct device *dev, > + char *name) > +{ > + if (dev->of_node) > + return dma_request_slave_channel(dev, name); > + else > + return dma_request_channel(mask, fn, fn_param); > +} > > /* --- Helper iov-locking functions --- */ > > -- > 1.7.9.5 > -- Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and much more. Get web development skills now with LearnDevNow - 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122812 ___ spi-devel-general mailing list spi-devel-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/spi-devel-general
Re: [PATCH v4 00/14] DMA Engine support for AM33XX
On Fri, Jan 11, 2013 at 11:40:41AM +, Arnd Bergmann wrote: > On Friday 11 January 2013, Matt Porter wrote: > > The approach taken is similar to how OMAP DMA is being converted to > > DMA Engine support. With the functional EDMA private API already > > existing in mach-davinci/dma.c, we first move that to an ARM common > > area so it can be shared. Adding DT and runtime PM support to the > > private EDMA API implementation allows it to run on AM33xx. AM33xx > > only boots using DT so we leverage Jon's generic DT DMA helpers to > > register EDMA DMAC with the of_dma framework and then add support > > for calling the dma_request_slave_channel() API to both the mmc > > and spi drivers. > > I think this looks very good. What I wonder is whether we should > make the non-DT parts of the dmaengine driver compile-time > conditional on CONFIG_ATAGS though, so the slave drivers don't > have a link-time dependency on the dmaengine driver's > omap_dma_filter_fn symbol when building without ATAGS support. We have tightly coupled the link-time dependency for omap_dma_filter_fn by going down the path of using dma_request_slave_channel_compat() as Tony suggested to avoid extra ifdefry. That dependency will go away naturally if all the "legacy" OMAP platforms were required to only boot from DT...just as a newly added SoCs are. Are you suggesting unwinding the _compat() approach? -Matt -- Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and much more. Get web development skills now with LearnDevNow - 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122812 ___ spi-devel-general mailing list spi-devel-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/spi-devel-general
Re: [PATCH v4 08/14] mmc: omap_hsmmc: convert to dma_request_slave_channel_compat()
* Matt Porter [130110 21:47]: > Convert dmaengine channel requests to use > dma_request_slave_channel_compat(). This supports the DT case of > platforms requiring channel selection from either the OMAP DMA or > the EDMA engine. AM33xx only boots from DT and is the only user > implementing EDMA so in the !DT case we can default to the OMAP DMA > filter. Acked-by: Tony Lindgren > Signed-off-by: Matt Porter > --- > drivers/mmc/host/omap_hsmmc.c | 10 -- > 1 file changed, 8 insertions(+), 2 deletions(-) > > diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c > index bc58078..e79b12d 100644 > --- a/drivers/mmc/host/omap_hsmmc.c > +++ b/drivers/mmc/host/omap_hsmmc.c > @@ -1915,14 +1915,20 @@ static int omap_hsmmc_probe(struct platform_device > *pdev) > dma_cap_zero(mask); > dma_cap_set(DMA_SLAVE, mask); > > - host->rx_chan = dma_request_channel(mask, omap_dma_filter_fn, &rx_req); > + host->rx_chan = > + dma_request_slave_channel_compat(mask, omap_dma_filter_fn, > + &rx_req, &pdev->dev, "rx"); > + > if (!host->rx_chan) { > dev_err(mmc_dev(host->mmc), "unable to obtain RX DMA engine > channel %u\n", rx_req); > ret = -ENXIO; > goto err_irq; > } > > - host->tx_chan = dma_request_channel(mask, omap_dma_filter_fn, &tx_req); > + host->tx_chan = > + dma_request_slave_channel_compat(mask, omap_dma_filter_fn, > + &tx_req, &pdev->dev, "tx"); > + > if (!host->tx_chan) { > dev_err(mmc_dev(host->mmc), "unable to obtain TX DMA engine > channel %u\n", tx_req); > ret = -ENXIO; > -- > 1.7.9.5 > -- Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and much more. Get web development skills now with LearnDevNow - 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122812 ___ spi-devel-general mailing list spi-devel-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/spi-devel-general
Re: [PATCH v4,03/14] ARM: edma: add AM33XX support to the private EDMA API
On Fri, Jan 11, 2013 at 06:14:27PM +, Lars Poeschel wrote: > Hi Matt, > > On Friday 11 January 2013 at 06:48:39, Matt Porter wrote: > > > diff --git a/arch/arm/common/edma.c b/arch/arm/common/edma.c > > index a3d189d..1951d63 100644 > > --- a/arch/arm/common/edma.c > > +++ b/arch/arm/common/edma.c > > @@ -24,6 +24,13 @@ > > #include > > #include > > #include > > +#include > > +#include > > +#include > > +#include > > +#include > > +#include > > +#include > > You add the include linux/of_dma.h here, but maybe you missed to add the file > itself. It is not in Linus v3.8-rc3 tree, not in the patches yours depend on > listed and not in your patchset. of_dma.h comes in with the dependencies listed in the cover letter. Particularly, Vinod's dt_dmaengine branch in slave-dma.git contains Jon Hunter's OF DMA helpers series. -Matt -- Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and much more. Get web development skills now with LearnDevNow - 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122812 ___ spi-devel-general mailing list spi-devel-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/spi-devel-general
Re: [PATCH 5/5] spi: fix return value check in hspi_probe().
On Thu, 3 Jan 2013 19:04:55 +0300, Dan Carpenter wrote: > On Sat, Dec 22, 2012 at 09:56:20AM +, Grant Likely wrote: > > On Wed, 19 Dec 2012 19:39:14 +0300, Dan Carpenter > > wrote: > > > On Wed, Dec 19, 2012 at 03:11:54PM +, Grant Likely wrote: > > > > On Tue, 11 Dec 2012 16:36:27 -0800 (PST), Kuninori Morimoto > > > > wrote: > > > > > > > > > > Hi > > > > > > > > > > > According to its documentation, clk_get() returns a "valid IS_ERR() > > > > > > condition > > > > > > containing errno", so we should call IS_ERR() rather than a NULL > > > > > > check. > > > > > > > > > > > > Signed-off-by: Cyril Roelandt > > > > > > > > > > Acked-by: Kuninori Morimoto > > > > > > > > Applied, thanks. > > > > > > In another thread, we were just talking about who clk_get() can > > > return a NULL if !CONFIG_HAVE_CLK. That might change to match the > > > documentation later... Not sure. > > > > So what is the solution here? Will the dummy clk_get() be changed, or is > > there more work needed on the drivers? > > > > This driver can't function without a clk. It should select that at > build time instead of testing for it at probe. Just checking for > IS_ERR() will NOT cause a NULL dereference so the patch is ok in > that respect. I'm not sure if this can be build without > CONFIG_HAVE_CLK. Your suggestion is to make this driver depend on CONFIG_HAVE_CLK? I'm fine with that, but it doesn't sort out the core infrastructure question about whether it is valid for the empty clk_get() to return NULL. Nor is it a particularly sustainable solution (ie. if a large number of drivers want to do the same thing). g. -- Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and much more. Get web development skills now with LearnDevNow - 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122812 ___ spi-devel-general mailing list spi-devel-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/spi-devel-general
Re: [PATCH] spi: Add the flag indicate to registe new device as children of master or not.
On Mon, 24 Dec 2012 11:16:52 -0500, Jun Chen wrote: > On Fri, 2012-12-21 at 19:06 +, Grant Likely wrote: > > The problem is that I don't understand why this change is necessary. > > spi_devices should always be children of an spi_master, not siblings. > > What is the problem you're trying to solve with this change? > > > When spi drivers try to use the core function(spi_register_master),it > will trigger error,because they use the function > spi_match_master_to_boardinfo to create new spi device as the children > of the master. > In the old version of spi core, the new devices are registered as > siblings of the spi_master. My spi driver based on the old version runs > normal. > > But after applying for this patch: > { > spi: Fix device unregistration when unregistering the bus master > > Device are added as children of the bus master's parent device, but > spi_unregister_master() looks for devices to unregister in the bus > master's children. This results in the child devices not being > unregistered. > > Fix this by registering devices as direct children of the bus > master. > > > - spi->dev.parent = dev; > + spi->dev.parent = &master->dev; > } > > Then my driver will be crash. > Maybe I have mistake on this issue, thank for your more explanation and > detail replay. Sounds like you've got a driver bug. Make sure it isn't trying to use the spi_client parent pointer to find the device instance. g. -- Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and much more. Get web development skills now with LearnDevNow - 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122812 ___ spi-devel-general mailing list spi-devel-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/spi-devel-general
Re: [PATCH v4 05/14] dmaengine: edma: Add TI EDMA device tree binding
On Fri, Jan 11, 2013 at 07:54:05AM +, Hebbar, Gururaja wrote: > On Fri, Jan 11, 2013 at 11:18:41, Porter, Matt wrote: > > The binding definition is based on the generic DMA controller > > binding. > > > > Signed-off-by: Matt Porter > > --- > > Documentation/devicetree/bindings/dma/ti-edma.txt | 51 > > + > > 1 file changed, 51 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/dma/ti-edma.txt > > > > diff --git a/Documentation/devicetree/bindings/dma/ti-edma.txt > > b/Documentation/devicetree/bindings/dma/ti-edma.txt > > new file mode 100644 > > index 000..3344345 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/dma/ti-edma.txt > > @@ -0,0 +1,51 @@ > > +TI EDMA > > + > > +Required properties: > > +- compatible : "ti,edma3" > > +- ti,hwmods: Name of the hwmods associated to the EDMA > > +- ti,edma-regions: Number of regions > > +- ti,edma-slots: Number of slots > > +- ti,edma-queue-tc-map: List of transfer control to queue mappings > > +- ti,edma-queue-priority-map: List of queue priority mappings > > +- ti,edma-default-queue: Default queue value > > + > > +Optional properties: > > +- ti,edma-reserved-channels: List of reserved channel regions > > +- ti,edma-reserved-slots: List of reserved slot regions > > +- ti,edma-xbar-event-map: Crossbar event to channel map > > + > > +Example: > > + > > +edma: edma@4900 { > > + #address-cells = <1>; > > + #size-cells = <0>; > > address-cells & size-cells are only required when current node is a parent > node & it has sibling/child nodes (that too if the child node uses "reg" > property). Yes, agreed. I addressed this in the actual dts but failed to update the binding itself. Will update. > > > + reg = <0x4900 0x1>; > > + interrupt-parent = <&intc>; > > + interrupts = <12 13 14>; > > + compatible = "ti,edma3"; > > + ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2"; > > + #dma-cells = <1>; > > + dma-channels = <64>; > > + ti,edma-regions = <4>; > > + ti,edma-slots = <256>; > > + ti,edma-reserved-channels = <0 2 > > +14 2 > > +26 6 > > +48 4 > > +56 8>; > > + ti,edma-reserved-slots = <0 2 > > + 14 2 > > + 26 6 > > + 48 4 > > + 56 8 > > + 64 127>; > > + ti,edma-queue-tc-map = <0 0 > > + 1 1 > > + 2 2>; > > + ti,edma-queue-priority-map = <0 0 > > + 1 1 > > + 2 2>; > > + ti,edma-default-queue = <0>; > > + ti,edma-xbar-event-map = <1 12 > > + 2 13>; > > +}; > > -- > > 1.7.9.5 > > > > ___ > > Davinci-linux-open-source mailing list > > davinci-linux-open-sou...@linux.davincidsp.com > > http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source > > > > > Regards, > Gururaja -- Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and much more. Get web development skills now with LearnDevNow - 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122812 ___ spi-devel-general mailing list spi-devel-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/spi-devel-general
Re: [PATCH v4 01/14] ARM: davinci: move private EDMA API to arm/common
On Fri, Jan 11, 2013 at 06:15:06AM +, Hebbar, Gururaja wrote: > On Fri, Jan 11, 2013 at 11:18:37, Porter, Matt wrote: > > Move mach-davinci/dma.c to common/edma.c so it can be used > > by OMAP (specifically AM33xx) as well. This just moves the > > private EDMA API and enables it to build on OMAP. > > > > Signed-off-by: Matt Porter > > --- > > arch/arm/Kconfig |1 + > > arch/arm/common/Kconfig|3 + > > arch/arm/common/Makefile |1 + > > arch/arm/{mach-davinci/dma.c => common/edma.c} |2 +- > > arch/arm/mach-davinci/Makefile |2 +- > > arch/arm/mach-davinci/board-tnetv107x-evm.c|2 +- > > arch/arm/mach-davinci/davinci.h|2 +- > > arch/arm/mach-davinci/devices-tnetv107x.c |2 +- > > arch/arm/mach-davinci/devices.c|7 +- > > arch/arm/mach-davinci/dm355.c |2 +- > > arch/arm/mach-davinci/dm365.c |2 +- > > arch/arm/mach-davinci/dm644x.c |2 +- > > arch/arm/mach-davinci/dm646x.c |2 +- > > arch/arm/mach-davinci/include/mach/da8xx.h |2 +- > > arch/arm/mach-davinci/include/mach/edma.h | 267 > > > > arch/arm/plat-omap/Kconfig |1 + > > drivers/dma/edma.c |2 +- > > drivers/mmc/host/davinci_mmc.c |1 + > > include/linux/mfd/davinci_voicecodec.h |3 +- > > include/linux/platform_data/edma.h | 182 > > Headers file are just moved here. So "git mv file1 flie2; and the git > format-patch -C" on commit should just generate few lines of patch. Ok, good catch. > > > include/linux/platform_data/spi-davinci.h |2 +- > > sound/soc/davinci/davinci-evm.c|1 + > > sound/soc/davinci/davinci-pcm.c|1 + > > sound/soc/davinci/davinci-pcm.h|2 +- > > sound/soc/davinci/davinci-sffsdr.c |6 +- > > 25 files changed, 212 insertions(+), 288 deletions(-) > > rename arch/arm/{mach-davinci/dma.c => common/edma.c} (99%) > > delete mode 100644 arch/arm/mach-davinci/include/mach/edma.h > > create mode 100644 include/linux/platform_data/edma.h > > > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > > index 67874b8..7637d31 100644 > > --- a/arch/arm/Kconfig > > +++ b/arch/arm/Kconfig > > @@ -932,6 +932,7 @@ config ARCH_DAVINCI > > select GENERIC_IRQ_CHIP > > select HAVE_IDE > > select NEED_MACH_GPIO_H > > + select TI_PRIV_EDMA > > select USE_OF > > select ZONE_DMA > > help > > diff --git a/arch/arm/common/Kconfig b/arch/arm/common/Kconfig > > index 45ceeb0..9e32d0d 100644 > > --- a/arch/arm/common/Kconfig > > +++ b/arch/arm/common/Kconfig > > @@ -40,3 +40,6 @@ config SHARP_PARAM > > > > config SHARP_SCOOP > > bool > > + > > +config TI_PRIV_EDMA > > + bool > > diff --git a/arch/arm/common/Makefile b/arch/arm/common/Makefile > > index e8a4e58..d09a39b 100644 > > --- a/arch/arm/common/Makefile > > +++ b/arch/arm/common/Makefile > > @@ -13,3 +13,4 @@ obj-$(CONFIG_SHARP_PARAM) += sharpsl_param.o > > obj-$(CONFIG_SHARP_SCOOP) += scoop.o > > obj-$(CONFIG_PCI_HOST_ITE8152) += it8152.o > > obj-$(CONFIG_ARM_TIMER_SP804) += timer-sp.o > > +obj-$(CONFIG_TI_PRIV_EDMA) += edma.o > > diff --git a/arch/arm/mach-davinci/dma.c b/arch/arm/common/edma.c > > similarity index 99% > > rename from arch/arm/mach-davinci/dma.c > > rename to arch/arm/common/edma.c > > index a685e97..4411087 100644 > > --- a/arch/arm/mach-davinci/dma.c > > +++ b/arch/arm/common/edma.c > > @@ -25,7 +25,7 @@ > > #include > > #include > > > > -#include > > +#include > > > > /* Offsets matching "struct edmacc_param" */ > > #define PARM_OPT 0x00 > > diff --git a/arch/arm/mach-davinci/Makefile b/arch/arm/mach-davinci/Makefile > > index fb5c1aa..493a36b 100644 > > --- a/arch/arm/mach-davinci/Makefile > > +++ b/arch/arm/mach-davinci/Makefile > > @@ -5,7 +5,7 @@ > > > > # Common objects > > obj-y := time.o clock.o serial.o psc.o \ > > - dma.o usb.o common.o sram.o aemif.o > > + usb.o common.o sram.o aemif.o > > > > obj-$(CONFIG_DAVINCI_MUX) += mux.o > > > > diff --git a/arch/arm/mach-davinci/board-tnetv107x-evm.c > > b/arch/arm/mach-davinci/board-tnetv107x-evm.c > > index be30997..86f55ba 100644 > > --- a/arch/arm/mach-davinci/board-tnetv107x-evm.c > > +++ b/arch/arm/mach-davinci/board-tnetv107x-evm.c > > @@ -26,12 +26,12 @@ > > #include > > #include > > #include > > +#include > > > > #include > > #include > > > > #include > > -#include > > #include > > #include > > #include > > diff --git a/arch/arm/mach-davinci/davinci.h > > b/arch/arm/mach-davinci/davinci.h > > index 12d544b..d26a6bc 100644 > > --- a/arch/arm/mach-davinc
Re: [PATCH v4 00/14] DMA Engine support for AM33XX
On Friday 11 January 2013, Matt Porter wrote: > The approach taken is similar to how OMAP DMA is being converted to > DMA Engine support. With the functional EDMA private API already > existing in mach-davinci/dma.c, we first move that to an ARM common > area so it can be shared. Adding DT and runtime PM support to the > private EDMA API implementation allows it to run on AM33xx. AM33xx > only boots using DT so we leverage Jon's generic DT DMA helpers to > register EDMA DMAC with the of_dma framework and then add support > for calling the dma_request_slave_channel() API to both the mmc > and spi drivers. I think this looks very good. What I wonder is whether we should make the non-DT parts of the dmaengine driver compile-time conditional on CONFIG_ATAGS though, so the slave drivers don't have a link-time dependency on the dmaengine driver's omap_dma_filter_fn symbol when building without ATAGS support. Arnd -- Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and much more. Get web development skills now with LearnDevNow - 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122812 ___ spi-devel-general mailing list spi-devel-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/spi-devel-general
Soldes massives, moins 90 pourcent sur tous les rayons
Merci d'ajouter notre adresse à votre carnet d'adresses pour être sûr que nos messages arrivent bien dans votre boîte de réception. Visualiser ce message en ligne http://news.dessouscheri.com/HM?a=ENX7Cqi8-r2A8SA9MKJJ4w_nGHxKLCaG0fcStGb5lw8W0bBhOG5mpqVsje_Hhe-kulJ9 Soldes massives, moins 90 pourcent sur tous les rayons http://news.dessouscheri.com/HS?a=ENX7Cqi8-r2A8SA9MKJJ4w_nGHxKLCaHMvcStGb5lw8W0bBhOG5mpqVsje_Hhe-kulNZ Votre adresse email figure dans notre base de données parce que vous y avez adhérer.Il ne s'agit donc pas d'un spam. Si vous souhaitez cependant vous desabonner, veuillez aller à cette adresse http://news.dessouscheri.com/HD?a=ENX7Cqi8-r2A8SA9MKJJ4w_nGHxKLCaG1vcStGb5lw8W0bBhOG5mpqVsje_Hhe-kulOC -- Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and much more. Get web development skills now with LearnDevNow - 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122812 ___ spi-devel-general mailing list spi-devel-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/spi-devel-general