hwrng: reorder OMAP TRNG driver code
PATCH 1/1 hwrng: 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.
--- drivers/char/hw_random/omap-rng.c | 108 ++++++++++++++++++------------------- 1 file changed, 54 insertions(+), 54 deletions(-)
drivers/char/hw_random/omap-rng.c +54 -54
@@ -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 ,
Signature · 1 line
1.7.10.4
PATCH 1/1 hwrng: reorder OMAP TRNG driver code
Hi Olof,
Quoted 4 lines · Olof Johansson
The newly added omap4 support in the driver was added without consideration for building older configs. When building
omap1_defconfig, it resulted in:
Quoted 8 lines
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.
Missed testing this. Thanks for the patch.
Regards,
Lokesh
Quoted 147 lines
Signed-off-by Olof Johansson <[email protected]>Cc Lokesh Vutla <[email protected]>--- drivers/char/hw_random/omap-rng.c | 108 ++++++++++++++++++------------------- 1 file changed, 54 insertions(+), 54 deletions(-)drivers/char/hw_random/omap-rng.c +54
-54@@ -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 ,
Herbert Xu
maintainerPATCH 1/1 hwrng: reorder OMAP TRNG driver code
Quoted 10 lines · Lokesh Vutla
Hi Olof,
Quoted 8 lines · Olof Johansson
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]
Quoted 6 lines
Quoted 4 lines
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.Missed testing this. Thanks for the patch.
Reviewed-by Lokesh Vutla <[email protected]>
Patch applied. Thanks!
Signature · 3 lines
Email: Herbert Xu <[email protected]> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt