On 03/14/2016 02:29 AM, Yangbo Lu wrote: >> -----Original Message----- >> From: Arnd Bergmann [mailto:arnd@xxxxxxxx] >> Sent: Monday, March 14, 2016 6:26 AM >> To: linuxppc-dev@xxxxxxxxxxxxxxxx >> Cc: Yangbo Lu; devicetree@xxxxxxxxxxxxxxx; linux-arm- >> kernel@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; linux- >> clk@xxxxxxxxxxxxxxx; linux-i2c@xxxxxxxxxxxxxxx; iommu@lists.linux- >> foundation.org; netdev@xxxxxxxxxxxxxxx; linux-mmc@xxxxxxxxxxxxxxx; >> ulf.hansson@xxxxxxxxxx; Zhao Qiang; Russell King; Bhupesh Sharma; Joerg >> Roedel; Santosh Shilimkar; Scott Wood; Rob Herring; Claudiu Manoil; Kumar >> Gala; Yang-Leo Li; Xiaobo Xie >> Subject: Re: [v6, 5/5] mmc: sdhci-of-esdhc: fix host version for T4240- >> R1.0-R2.0 >> >> On Wednesday 09 March 2016 18:08:51 Yangbo Lu wrote: >>> @@ -567,10 +580,20 @@ static void esdhc_init(struct platform_device >> *pdev, struct sdhci_host *host) >>> struct sdhci_pltfm_host *pltfm_host; >>> struct sdhci_esdhc *esdhc; >>> u16 host_ver; >>> + u32 svr; >>> >>> pltfm_host = sdhci_priv(host); >>> esdhc = sdhci_pltfm_priv(pltfm_host); >>> >>> + fsl_guts_init(); >>> + svr = fsl_guts_get_svr(); >>> + if (svr) { >>> + esdhc->soc_ver = SVR_SOC_VER(svr); >>> + esdhc->soc_rev = SVR_REV(svr); >>> + } else { >>> + dev_err(&pdev->dev, "Failed to get SVR value!\n"); >>> + } >>> + >> >> This makes the driver non-portable. Better identify the specific >> workarounds based on the compatible string for this device, or add a >> boolean DT property for the quirk. >> >> Arnd > > [Lu Yangbo-B47093] Hi Arnd, we did have a discussion about using DTS in v1 before. > https://patchwork.kernel.org/patch/6834221/ > > We don’t have a separate DTS file for each revision of an SOC and if we did, we'd constantly have people using the wrong one. > In addition, the device tree is stable ABI and errata are often discovered after device tree are deployed. > See the link for details. > > So we decide to read SVR from the device-config/guts MMIO block other than using DTS. > Thanks. Also note that this driver is already only for fsl-specific hardware, and it will still work even if fsl_guts doesn't find anything to bind to -- it just wouldn't be able to detect errata based on SVR in that case. -Scott -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html