mirror of https://gitee.com/openkylin/linux.git
hwrng: omap - reorder OMAP TRNG driver code
The newly added omap4 support in the driver was added without consideration for building older configs. When building omap1_defconfig, it resulted in: drivers/char/hw_random/omap-rng.c:190:12: warning: 'omap4_rng_init' defined but not used [-Wunused-function] drivers/char/hw_random/omap-rng.c:215:13: warning: 'omap4_rng_cleanup' defined but not used [-Wunused-function] drivers/char/hw_random/omap-rng.c:251:20: warning: 'omap4_rng_irq' defined but not used [-Wunused-function] Move the code around so it is grouped with its operations struct, which for the omap4 case means also under the #ifdef CONFIG_OF, where it needs to be. Signed-off-by: Olof Johansson <olof@lixom.net> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
f5e4626097
commit
a246968edc
|
@ -140,16 +140,6 @@ static inline void omap_rng_write(struct omap_rng_dev *priv, u16 reg,
|
|||
__raw_writel(val, priv->base + priv->pdata->regs[reg]);
|
||||
}
|
||||
|
||||
static inline u32 omap2_rng_data_present(struct omap_rng_dev *priv)
|
||||
{
|
||||
return omap_rng_read(priv, RNG_STATUS_REG) ? 0 : 1;
|
||||
}
|
||||
|
||||
static inline u32 omap4_rng_data_present(struct omap_rng_dev *priv)
|
||||
{
|
||||
return omap_rng_read(priv, RNG_STATUS_REG) & RNG_REG_STATUS_RDY;
|
||||
}
|
||||
|
||||
static int omap_rng_data_present(struct hwrng *rng, int wait)
|
||||
{
|
||||
struct omap_rng_dev *priv;
|
||||
|
@ -187,6 +177,60 @@ static int omap_rng_data_read(struct hwrng *rng, u32 *data)
|
|||
return data_size;
|
||||
}
|
||||
|
||||
static int omap_rng_init(struct hwrng *rng)
|
||||
{
|
||||
struct omap_rng_dev *priv;
|
||||
|
||||
priv = (struct omap_rng_dev *)rng->priv;
|
||||
return priv->pdata->init(priv);
|
||||
}
|
||||
|
||||
static void omap_rng_cleanup(struct hwrng *rng)
|
||||
{
|
||||
struct omap_rng_dev *priv;
|
||||
|
||||
priv = (struct omap_rng_dev *)rng->priv;
|
||||
priv->pdata->cleanup(priv);
|
||||
}
|
||||
|
||||
static struct hwrng omap_rng_ops = {
|
||||
.name = "omap",
|
||||
.data_present = omap_rng_data_present,
|
||||
.data_read = omap_rng_data_read,
|
||||
.init = omap_rng_init,
|
||||
.cleanup = omap_rng_cleanup,
|
||||
};
|
||||
|
||||
static inline u32 omap2_rng_data_present(struct omap_rng_dev *priv)
|
||||
{
|
||||
return omap_rng_read(priv, RNG_STATUS_REG) ? 0 : 1;
|
||||
}
|
||||
|
||||
static int omap2_rng_init(struct omap_rng_dev *priv)
|
||||
{
|
||||
omap_rng_write(priv, RNG_SYSCONFIG_REG, 0x1);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void omap2_rng_cleanup(struct omap_rng_dev *priv)
|
||||
{
|
||||
omap_rng_write(priv, RNG_SYSCONFIG_REG, 0x0);
|
||||
}
|
||||
|
||||
static struct omap_rng_pdata omap2_rng_pdata = {
|
||||
.regs = (u16 *)reg_map_omap2,
|
||||
.data_size = OMAP2_RNG_OUTPUT_SIZE,
|
||||
.data_present = omap2_rng_data_present,
|
||||
.init = omap2_rng_init,
|
||||
.cleanup = omap2_rng_cleanup,
|
||||
};
|
||||
|
||||
#if defined(CONFIG_OF)
|
||||
static inline u32 omap4_rng_data_present(struct omap_rng_dev *priv)
|
||||
{
|
||||
return omap_rng_read(priv, RNG_STATUS_REG) & RNG_REG_STATUS_RDY;
|
||||
}
|
||||
|
||||
static int omap4_rng_init(struct omap_rng_dev *priv)
|
||||
{
|
||||
u32 val;
|
||||
|
@ -221,33 +265,6 @@ static void omap4_rng_cleanup(struct omap_rng_dev *priv)
|
|||
omap_rng_write(priv, RNG_CONFIG_REG, val);
|
||||
}
|
||||
|
||||
static int omap2_rng_init(struct omap_rng_dev *priv)
|
||||
{
|
||||
omap_rng_write(priv, RNG_SYSCONFIG_REG, 0x1);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void omap2_rng_cleanup(struct omap_rng_dev *priv)
|
||||
{
|
||||
omap_rng_write(priv, RNG_SYSCONFIG_REG, 0x0);
|
||||
}
|
||||
|
||||
static int omap_rng_init(struct hwrng *rng)
|
||||
{
|
||||
struct omap_rng_dev *priv;
|
||||
|
||||
priv = (struct omap_rng_dev *)rng->priv;
|
||||
return priv->pdata->init(priv);
|
||||
}
|
||||
|
||||
static void omap_rng_cleanup(struct hwrng *rng)
|
||||
{
|
||||
struct omap_rng_dev *priv;
|
||||
|
||||
priv = (struct omap_rng_dev *)rng->priv;
|
||||
priv->pdata->cleanup(priv);
|
||||
}
|
||||
|
||||
static irqreturn_t omap4_rng_irq(int irq, void *dev_id)
|
||||
{
|
||||
struct omap_rng_dev *priv = dev_id;
|
||||
|
@ -275,23 +292,6 @@ static irqreturn_t omap4_rng_irq(int irq, void *dev_id)
|
|||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
static struct hwrng omap_rng_ops = {
|
||||
.name = "omap",
|
||||
.data_present = omap_rng_data_present,
|
||||
.data_read = omap_rng_data_read,
|
||||
.init = omap_rng_init,
|
||||
.cleanup = omap_rng_cleanup,
|
||||
};
|
||||
|
||||
static struct omap_rng_pdata omap2_rng_pdata = {
|
||||
.regs = (u16 *)reg_map_omap2,
|
||||
.data_size = OMAP2_RNG_OUTPUT_SIZE,
|
||||
.data_present = omap2_rng_data_present,
|
||||
.init = omap2_rng_init,
|
||||
.cleanup = omap2_rng_cleanup,
|
||||
};
|
||||
|
||||
#if defined(CONFIG_OF)
|
||||
static struct omap_rng_pdata omap4_rng_pdata = {
|
||||
.regs = (u16 *)reg_map_omap4,
|
||||
.data_size = OMAP4_RNG_OUTPUT_SIZE,
|
||||
|
|
Loading…
Reference in New Issue