ARM: SAMSUNG: Consolidate common function to set SDHCI plat data
Moves similar functions to set SDHCI platform data for all Samsung boards to a common location, thereby saves a few lines. Signed-off-by: Banajit Goswami <banajit.g@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
This commit is contained in:
parent
3e461977d1
commit
5e8e0a109e
|
@ -58,22 +58,5 @@ struct platform_device s3c_device_hsmmc0 = {
|
|||
|
||||
void s3c_sdhci0_set_platdata(struct s3c_sdhci_platdata *pd)
|
||||
{
|
||||
struct s3c_sdhci_platdata *set = &s3c_hsmmc0_def_platdata;
|
||||
|
||||
set->cd_type = pd->cd_type;
|
||||
set->ext_cd_init = pd->ext_cd_init;
|
||||
set->ext_cd_cleanup = pd->ext_cd_cleanup;
|
||||
set->ext_cd_gpio = pd->ext_cd_gpio;
|
||||
set->ext_cd_gpio_invert = pd->ext_cd_gpio_invert;
|
||||
|
||||
if (pd->max_width)
|
||||
set->max_width = pd->max_width;
|
||||
if (pd->cfg_gpio)
|
||||
set->cfg_gpio = pd->cfg_gpio;
|
||||
if (pd->cfg_card)
|
||||
set->cfg_card = pd->cfg_card;
|
||||
if (pd->host_caps)
|
||||
set->host_caps |= pd->host_caps;
|
||||
if (pd->clk_type)
|
||||
set->clk_type = pd->clk_type;
|
||||
s3c_sdhci_set_platdata(pd, &s3c_hsmmc0_def_platdata);
|
||||
}
|
||||
|
|
|
@ -58,22 +58,5 @@ struct platform_device s3c_device_hsmmc1 = {
|
|||
|
||||
void s3c_sdhci1_set_platdata(struct s3c_sdhci_platdata *pd)
|
||||
{
|
||||
struct s3c_sdhci_platdata *set = &s3c_hsmmc1_def_platdata;
|
||||
|
||||
set->cd_type = pd->cd_type;
|
||||
set->ext_cd_init = pd->ext_cd_init;
|
||||
set->ext_cd_cleanup = pd->ext_cd_cleanup;
|
||||
set->ext_cd_gpio = pd->ext_cd_gpio;
|
||||
set->ext_cd_gpio_invert = pd->ext_cd_gpio_invert;
|
||||
|
||||
if (pd->max_width)
|
||||
set->max_width = pd->max_width;
|
||||
if (pd->cfg_gpio)
|
||||
set->cfg_gpio = pd->cfg_gpio;
|
||||
if (pd->cfg_card)
|
||||
set->cfg_card = pd->cfg_card;
|
||||
if (pd->host_caps)
|
||||
set->host_caps |= pd->host_caps;
|
||||
if (pd->clk_type)
|
||||
set->clk_type = pd->clk_type;
|
||||
s3c_sdhci_set_platdata(pd, &s3c_hsmmc1_def_platdata);
|
||||
}
|
||||
|
|
|
@ -59,22 +59,5 @@ struct platform_device s3c_device_hsmmc2 = {
|
|||
|
||||
void s3c_sdhci2_set_platdata(struct s3c_sdhci_platdata *pd)
|
||||
{
|
||||
struct s3c_sdhci_platdata *set = &s3c_hsmmc2_def_platdata;
|
||||
|
||||
set->cd_type = pd->cd_type;
|
||||
set->ext_cd_init = pd->ext_cd_init;
|
||||
set->ext_cd_cleanup = pd->ext_cd_cleanup;
|
||||
set->ext_cd_gpio = pd->ext_cd_gpio;
|
||||
set->ext_cd_gpio_invert = pd->ext_cd_gpio_invert;
|
||||
|
||||
if (pd->max_width)
|
||||
set->max_width = pd->max_width;
|
||||
if (pd->cfg_gpio)
|
||||
set->cfg_gpio = pd->cfg_gpio;
|
||||
if (pd->cfg_card)
|
||||
set->cfg_card = pd->cfg_card;
|
||||
if (pd->host_caps)
|
||||
set->host_caps |= pd->host_caps;
|
||||
if (pd->clk_type)
|
||||
set->clk_type = pd->clk_type;
|
||||
s3c_sdhci_set_platdata(pd, &s3c_hsmmc2_def_platdata);
|
||||
}
|
||||
|
|
|
@ -62,22 +62,5 @@ struct platform_device s3c_device_hsmmc3 = {
|
|||
|
||||
void s3c_sdhci3_set_platdata(struct s3c_sdhci_platdata *pd)
|
||||
{
|
||||
struct s3c_sdhci_platdata *set = &s3c_hsmmc3_def_platdata;
|
||||
|
||||
set->cd_type = pd->cd_type;
|
||||
set->ext_cd_init = pd->ext_cd_init;
|
||||
set->ext_cd_cleanup = pd->ext_cd_cleanup;
|
||||
set->ext_cd_gpio = pd->ext_cd_gpio;
|
||||
set->ext_cd_gpio_invert = pd->ext_cd_gpio_invert;
|
||||
|
||||
if (pd->max_width)
|
||||
set->max_width = pd->max_width;
|
||||
if (pd->cfg_gpio)
|
||||
set->cfg_gpio = pd->cfg_gpio;
|
||||
if (pd->cfg_card)
|
||||
set->cfg_card = pd->cfg_card;
|
||||
if (pd->host_caps)
|
||||
set->host_caps |= pd->host_caps;
|
||||
if (pd->clk_type)
|
||||
set->clk_type = pd->clk_type;
|
||||
s3c_sdhci_set_platdata(pd, &s3c_hsmmc3_def_platdata);
|
||||
}
|
||||
|
|
|
@ -86,6 +86,13 @@ struct s3c_sdhci_platdata {
|
|||
struct mmc_card *card);
|
||||
};
|
||||
|
||||
/* s3c_sdhci_set_platdata() - common helper for setting SDHCI platform data
|
||||
* @pd: The default platform data for this device.
|
||||
* @set: Pointer to the platform data to fill in.
|
||||
*/
|
||||
extern void s3c_sdhci_set_platdata(struct s3c_sdhci_platdata *pd,
|
||||
struct s3c_sdhci_platdata *set);
|
||||
|
||||
/**
|
||||
* s3c_sdhci0_set_platdata - Set platform data for S3C SDHCI device.
|
||||
* @pd: Platform data to register to device.
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
#include <linux/platform_device.h>
|
||||
|
||||
#include <plat/devs.h>
|
||||
#include <plat/sdhci.h>
|
||||
|
||||
void __init *s3c_set_platdata(void *pd, size_t pdsize,
|
||||
struct platform_device *pdev)
|
||||
|
@ -35,3 +36,24 @@ void __init *s3c_set_platdata(void *pd, size_t pdsize,
|
|||
pdev->dev.platform_data = npd;
|
||||
return npd;
|
||||
}
|
||||
|
||||
void s3c_sdhci_set_platdata(struct s3c_sdhci_platdata *pd,
|
||||
struct s3c_sdhci_platdata *set)
|
||||
{
|
||||
set->cd_type = pd->cd_type;
|
||||
set->ext_cd_init = pd->ext_cd_init;
|
||||
set->ext_cd_cleanup = pd->ext_cd_cleanup;
|
||||
set->ext_cd_gpio = pd->ext_cd_gpio;
|
||||
set->ext_cd_gpio_invert = pd->ext_cd_gpio_invert;
|
||||
|
||||
if (pd->max_width)
|
||||
set->max_width = pd->max_width;
|
||||
if (pd->cfg_gpio)
|
||||
set->cfg_gpio = pd->cfg_gpio;
|
||||
if (pd->cfg_card)
|
||||
set->cfg_card = pd->cfg_card;
|
||||
if (pd->host_caps)
|
||||
set->host_caps |= pd->host_caps;
|
||||
if (pd->clk_type)
|
||||
set->clk_type = pd->clk_type;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue