Message ID | 1321438848-3607-1-git-send-email-sangwook.lee@linaro.org |
---|---|
State | Accepted |
Headers | show |
Dear Mr. Lee, On 16 November 2011 15:50, Sangwook Lee <sangwook.lee@linaro.org> wrote: > Add pm_caps into platform_data. This is power management, usually > for SDIO device such as SDIO WLAN. > > Signed-off-by: Sangwook Lee <sangwook.lee@samsung.com> > --- > arch/arm/plat-samsung/include/plat/sdhci.h | 2 ++ > arch/arm/plat-samsung/platformdata.c | 2 ++ > 2 files changed, 4 insertions(+), 0 deletions(-) > > diff --git a/arch/arm/plat-samsung/include/plat/sdhci.h b/arch/arm/plat-samsung/include/plat/sdhci.h > index dcff7dd..fcd02d4 100644 > --- a/arch/arm/plat-samsung/include/plat/sdhci.h > +++ b/arch/arm/plat-samsung/include/plat/sdhci.h > @@ -40,6 +40,7 @@ enum clk_types { > * struct s3c_sdhci_platdata() - Platform device data for Samsung SDHCI > * @max_width: The maximum number of data bits supported. > * @host_caps: Standard MMC host capabilities bit field. > + * @pm_caps: SDIO host PM capabilities bit field. > * @cd_type: Type of Card Detection method (see cd_types enum above) > * @clk_type: Type of clock divider method (see clk_types enum above) > * @ext_cd_init: Initialize external card detect subsystem. Called on > @@ -63,6 +64,7 @@ enum clk_types { > struct s3c_sdhci_platdata { > unsigned int max_width; > unsigned int host_caps; > + unsigned int pm_caps; > enum cd_types cd_type; > enum clk_types clk_type; > > diff --git a/arch/arm/plat-samsung/platformdata.c b/arch/arm/plat-samsung/platformdata.c > index ceb9fa3..0f70718 100644 > --- a/arch/arm/plat-samsung/platformdata.c > +++ b/arch/arm/plat-samsung/platformdata.c > @@ -53,6 +53,8 @@ void s3c_sdhci_set_platdata(struct s3c_sdhci_platdata *pd, > set->cfg_gpio = pd->cfg_gpio; > if (pd->host_caps) > set->host_caps |= pd->host_caps; > + if (pd->pm_caps) > + set->pm_caps |= pd->pm_caps; Are the 'pm_caps' specific to a (on-board) sdio host attached to the sdhci controller? If yes, then this change should be fine. If no, please let me know. I am kind of worried of any new addition to platform data. Because, if that new addition in platform data is not board specific data, then it becomes difficult to represent that information in device tree. Thanks, Thomas. > if (pd->clk_type) > set->clk_type = pd->clk_type; > } > -- > 1.7.4.1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html >
Hi Thomas On 16 November 2011 11:47, Thomas Abraham <thomas.abraham@linaro.org> wrote: > Dear Mr. Lee, > > On 16 November 2011 15:50, Sangwook Lee <sangwook.lee@linaro.org> wrote: > > Add pm_caps into platform_data. This is power management, usually > > for SDIO device such as SDIO WLAN. > > > > Signed-off-by: Sangwook Lee <sangwook.lee@samsung.com> > > --- > > arch/arm/plat-samsung/include/plat/sdhci.h | 2 ++ > > arch/arm/plat-samsung/platformdata.c | 2 ++ > > 2 files changed, 4 insertions(+), 0 deletions(-) > > > > diff --git a/arch/arm/plat-samsung/include/plat/sdhci.h > b/arch/arm/plat-samsung/include/plat/sdhci.h > > index dcff7dd..fcd02d4 100644 > > --- a/arch/arm/plat-samsung/include/plat/sdhci.h > > +++ b/arch/arm/plat-samsung/include/plat/sdhci.h > > @@ -40,6 +40,7 @@ enum clk_types { > > * struct s3c_sdhci_platdata() - Platform device data for Samsung SDHCI > > * @max_width: The maximum number of data bits supported. > > * @host_caps: Standard MMC host capabilities bit field. > > + * @pm_caps: SDIO host PM capabilities bit field. > > * @cd_type: Type of Card Detection method (see cd_types enum above) > > * @clk_type: Type of clock divider method (see clk_types enum above) > > * @ext_cd_init: Initialize external card detect subsystem. Called on > > @@ -63,6 +64,7 @@ enum clk_types { > > struct s3c_sdhci_platdata { > > unsigned int max_width; > > unsigned int host_caps; > > + unsigned int pm_caps; > > enum cd_types cd_type; > > enum clk_types clk_type; > > > > diff --git a/arch/arm/plat-samsung/platformdata.c > b/arch/arm/plat-samsung/platformdata.c > > index ceb9fa3..0f70718 100644 > > --- a/arch/arm/plat-samsung/platformdata.c > > +++ b/arch/arm/plat-samsung/platformdata.c > > @@ -53,6 +53,8 @@ void s3c_sdhci_set_platdata(struct s3c_sdhci_platdata > *pd, > > set->cfg_gpio = pd->cfg_gpio; > > if (pd->host_caps) > > set->host_caps |= pd->host_caps; > > + if (pd->pm_caps) > > + set->pm_caps |= pd->pm_caps; > > > Are the 'pm_caps' specific to a (on-board) sdio host attached to the > sdhci controller? No, this is not specific to a sdio host controller. > If yes, then this change should be fine. If no, > please let me know. I am kind of worried of any new addition to > platform data. Because, if that new addition in platform data is not > board specific data, then it becomes difficult to represent that > information in device tree. > > Thanks, > Thomas. > > > > if (pd->clk_type) > > set->clk_type = pd->clk_type; > > } > > -- > > 1.7.4.1 > > > > -- > > To unsubscribe from this list: send the line "unsubscribe > linux-samsung-soc" in > > the body of a message to majordomo@vger.kernel.org > > More majordomo info at http://vger.kernel.org/majordomo-info.html > > >
Dear Mr. Lee, On 16 November 2011 17:48, Sangwook Lee <sangwook.lee@linaro.org> wrote: > Hi Thomas > > On 16 November 2011 11:47, Thomas Abraham <thomas.abraham@linaro.org> wrote: >> >> Dear Mr. Lee, >> >> On 16 November 2011 15:50, Sangwook Lee <sangwook.lee@linaro.org> wrote: >> > Add pm_caps into platform_data. This is power management, usually >> > for SDIO device such as SDIO WLAN. >> > >> > Signed-off-by: Sangwook Lee <sangwook.lee@samsung.com> >> > --- >> > arch/arm/plat-samsung/include/plat/sdhci.h | 2 ++ >> > arch/arm/plat-samsung/platformdata.c | 2 ++ >> > 2 files changed, 4 insertions(+), 0 deletions(-) >> > >> > diff --git a/arch/arm/plat-samsung/include/plat/sdhci.h >> > b/arch/arm/plat-samsung/include/plat/sdhci.h >> > index dcff7dd..fcd02d4 100644 >> > --- a/arch/arm/plat-samsung/include/plat/sdhci.h >> > +++ b/arch/arm/plat-samsung/include/plat/sdhci.h >> > @@ -40,6 +40,7 @@ enum clk_types { >> > * struct s3c_sdhci_platdata() - Platform device data for Samsung SDHCI >> > * @max_width: The maximum number of data bits supported. >> > * @host_caps: Standard MMC host capabilities bit field. >> > + * @pm_caps: SDIO host PM capabilities bit field. >> > * @cd_type: Type of Card Detection method (see cd_types enum above) >> > * @clk_type: Type of clock divider method (see clk_types enum above) >> > * @ext_cd_init: Initialize external card detect subsystem. Called on >> > @@ -63,6 +64,7 @@ enum clk_types { >> > struct s3c_sdhci_platdata { >> > unsigned int max_width; >> > unsigned int host_caps; >> > + unsigned int pm_caps; >> > enum cd_types cd_type; >> > enum clk_types clk_type; >> > >> > diff --git a/arch/arm/plat-samsung/platformdata.c >> > b/arch/arm/plat-samsung/platformdata.c >> > index ceb9fa3..0f70718 100644 >> > --- a/arch/arm/plat-samsung/platformdata.c >> > +++ b/arch/arm/plat-samsung/platformdata.c >> > @@ -53,6 +53,8 @@ void s3c_sdhci_set_platdata(struct s3c_sdhci_platdata >> > *pd, >> > set->cfg_gpio = pd->cfg_gpio; >> > if (pd->host_caps) >> > set->host_caps |= pd->host_caps; >> > + if (pd->pm_caps) >> > + set->pm_caps |= pd->pm_caps; >> >> >> Are the 'pm_caps' specific to a (on-board) sdio host attached to the >> sdhci controller? > > No, this is not specific to a sdio host controller. > Thanks for your confirmation. Looking at the code, there are two flags for pm_caps - MMC_PM_KEEP_POWER and MMC_PM_WAKE_SDIO_IRQ. Though these seem to be flags for linux specific behavior, the same could be supported from device tree as well allowing host system to use and act on these properties or ignore it. So, adding pm_caps in platform data should be fine from dt support perspective. If you prefer, for the both the patches in this series, Acked-by: Thomas Abraham <thomas.abraham@linaro.org> Thanks, Thomas. >> >> If yes, then this change should be fine. If no, >> please let me know. I am kind of worried of any new addition to >> platform data. Because, if that new addition in platform data is not >> board specific data, then it becomes difficult to represent that >> information in device tree. >> >> Thanks, >> Thomas. >> >> >> > if (pd->clk_type) >> > set->clk_type = pd->clk_type; >> > } >> > -- >> > 1.7.4.1 >> > >> > -- >> > To unsubscribe from this list: send the line "unsubscribe >> > linux-samsung-soc" in >> > the body of a message to majordomo@vger.kernel.org >> > More majordomo info at http://vger.kernel.org/majordomo-info.html >> > > >
Thomas Abraham wrote: > > Dear Mr. Lee, > > On 16 November 2011 17:48, Sangwook Lee <sangwook.lee@linaro.org> wrote: > > Hi Thomas > > > > On 16 November 2011 11:47, Thomas Abraham <thomas.abraham@linaro.org> > wrote: > >> > >> Dear Mr. Lee, > >> > >> On 16 November 2011 15:50, Sangwook Lee <sangwook.lee@linaro.org> wrote: > >> > Add pm_caps into platform_data. This is power management, usually > >> > for SDIO device such as SDIO WLAN. > >> > > >> > Signed-off-by: Sangwook Lee <sangwook.lee@samsung.com> > >> > --- > >> > arch/arm/plat-samsung/include/plat/sdhci.h | 2 ++ > >> > arch/arm/plat-samsung/platformdata.c | 2 ++ > >> > 2 files changed, 4 insertions(+), 0 deletions(-) > >> > > >> > diff --git a/arch/arm/plat-samsung/include/plat/sdhci.h > >> > b/arch/arm/plat-samsung/include/plat/sdhci.h > >> > index dcff7dd..fcd02d4 100644 > >> > --- a/arch/arm/plat-samsung/include/plat/sdhci.h > >> > +++ b/arch/arm/plat-samsung/include/plat/sdhci.h > >> > @@ -40,6 +40,7 @@ enum clk_types { > >> > * struct s3c_sdhci_platdata() - Platform device data for Samsung > SDHCI > >> > * @max_width: The maximum number of data bits supported. > >> > * @host_caps: Standard MMC host capabilities bit field. > >> > + * @pm_caps: SDIO host PM capabilities bit field. > >> > * @cd_type: Type of Card Detection method (see cd_types enum above) > >> > * @clk_type: Type of clock divider method (see clk_types enum above) > >> > * @ext_cd_init: Initialize external card detect subsystem. Called on > >> > @@ -63,6 +64,7 @@ enum clk_types { > >> > struct s3c_sdhci_platdata { > >> > unsigned int max_width; > >> > unsigned int host_caps; > >> > + unsigned int pm_caps; > >> > enum cd_types cd_type; > >> > enum clk_types clk_type; > >> > > >> > diff --git a/arch/arm/plat-samsung/platformdata.c > >> > b/arch/arm/plat-samsung/platformdata.c > >> > index ceb9fa3..0f70718 100644 > >> > --- a/arch/arm/plat-samsung/platformdata.c > >> > +++ b/arch/arm/plat-samsung/platformdata.c > >> > @@ -53,6 +53,8 @@ void s3c_sdhci_set_platdata(struct > s3c_sdhci_platdata > >> > *pd, > >> > set->cfg_gpio = pd->cfg_gpio; > >> > if (pd->host_caps) > >> > set->host_caps |= pd->host_caps; > >> > + if (pd->pm_caps) > >> > + set->pm_caps |= pd->pm_caps; > >> > >> > >> Are the 'pm_caps' specific to a (on-board) sdio host attached to the > >> sdhci controller? > > > > No, this is not specific to a sdio host controller. > > > > Thanks for your confirmation. Looking at the code, there are two flags > for pm_caps - MMC_PM_KEEP_POWER and MMC_PM_WAKE_SDIO_IRQ. Though these > seem to be flags for linux specific behavior, the same could be > supported from device tree as well allowing host system to use and act > on these properties or ignore it. So, adding pm_caps in platform data > should be fine from dt support perspective. > > If you prefer, for the both the patches in this series, > Acked-by: Thomas Abraham <thomas.abraham@linaro.org> > OK, will apply. Thanks. Best regards, Kgene. -- Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer, SW Solution Development Team, Samsung Electronics Co., Ltd. > >> > >> If yes, then this change should be fine. If no, > >> please let me know. I am kind of worried of any new addition to > >> platform data. Because, if that new addition in platform data is not > >> board specific data, then it becomes difficult to represent that > >> information in device tree. > >> > >> Thanks, > >> Thomas. > >> > >> > >> > if (pd->clk_type) > >> > set->clk_type = pd->clk_type; > >> > } > >> > -- > >> > 1.7.4.1
diff --git a/arch/arm/plat-samsung/include/plat/sdhci.h b/arch/arm/plat-samsung/include/plat/sdhci.h index dcff7dd..fcd02d4 100644 --- a/arch/arm/plat-samsung/include/plat/sdhci.h +++ b/arch/arm/plat-samsung/include/plat/sdhci.h @@ -40,6 +40,7 @@ enum clk_types { * struct s3c_sdhci_platdata() - Platform device data for Samsung SDHCI * @max_width: The maximum number of data bits supported. * @host_caps: Standard MMC host capabilities bit field. + * @pm_caps: SDIO host PM capabilities bit field. * @cd_type: Type of Card Detection method (see cd_types enum above) * @clk_type: Type of clock divider method (see clk_types enum above) * @ext_cd_init: Initialize external card detect subsystem. Called on @@ -63,6 +64,7 @@ enum clk_types { struct s3c_sdhci_platdata { unsigned int max_width; unsigned int host_caps; + unsigned int pm_caps; enum cd_types cd_type; enum clk_types clk_type; diff --git a/arch/arm/plat-samsung/platformdata.c b/arch/arm/plat-samsung/platformdata.c index ceb9fa3..0f70718 100644 --- a/arch/arm/plat-samsung/platformdata.c +++ b/arch/arm/plat-samsung/platformdata.c @@ -53,6 +53,8 @@ void s3c_sdhci_set_platdata(struct s3c_sdhci_platdata *pd, set->cfg_gpio = pd->cfg_gpio; if (pd->host_caps) set->host_caps |= pd->host_caps; + if (pd->pm_caps) + set->pm_caps |= pd->pm_caps; if (pd->clk_type) set->clk_type = pd->clk_type; }
Add pm_caps into platform_data. This is power management, usually for SDIO device such as SDIO WLAN. Signed-off-by: Sangwook Lee <sangwook.lee@samsung.com> --- arch/arm/plat-samsung/include/plat/sdhci.h | 2 ++ arch/arm/plat-samsung/platformdata.c | 2 ++ 2 files changed, 4 insertions(+), 0 deletions(-)