[PATCH 1/2] fbdev: ssd1307fb: constify the device_info pointer
Subsystems:
framebuffer layer , the rest
STALE3603d
3 messages,
2 authors,
2016-09-27 · open the first message on its own page
of_match_device return const data, so instead of casting its return value
this patch constify the device_info pointer.
Signed-off-by: LABBE Corentin <clabbe.montjoie@gmail.com>
---
drivers/video/fbdev/ssd1307fb.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/video/fbdev/ssd1307fb.c b/drivers/video/fbdev/ssd1307fb.c
index a9c45c8..b6c9ecf 100644
--- a/drivers/video/fbdev/ssd1307fb.c
+++ b/drivers/video/fbdev/ssd1307fb.c @@ -64,7 +64,7 @@ struct ssd1307fb_par {
u32 contrast ;
u32 dclk_div ;
u32 dclk_frq ;
- struct ssd1307fb_deviceinfo * device_info ;
+ const struct ssd1307fb_deviceinfo * device_info ;
struct i2c_client * client ;
u32 height ;
struct fb_info * info ; @@ -559,8 +559,8 @@ static int ssd1307fb_probe(struct i2c_client *client,
par -> info = info ;
par -> client = client ;
- par -> device_info = ( struct ssd1307fb_deviceinfo * ) of_match_device (
- ssd1307fb_of_match , & client -> dev ) -> data ;
+ par -> device_info = of_match_device ( ssd1307fb_of_match ,
+ & client -> dev ) -> data ;
par -> reset = of_get_named_gpio ( client -> dev . of_node ,
"reset-gpios" , 0 ); --
2.7.3
of_match_device could return NULL, and so cause a NULL pointer
dereference later.
For fixing this problem, we use of_device_get_match_data(), this will
simplify the code a little by using a standard function for
getting the match data.
Signed-off-by: LABBE Corentin <clabbe.montjoie@gmail.com>
---
drivers/video/fbdev/ssd1307fb.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/video/fbdev/ssd1307fb.c b/drivers/video/fbdev/ssd1307fb.c
index b6c9ecf..4265035 100644
--- a/drivers/video/fbdev/ssd1307fb.c
+++ b/drivers/video/fbdev/ssd1307fb.c @@ -559,8 +559,7 @@ static int ssd1307fb_probe(struct i2c_client *client,
par -> info = info ;
par -> client = client ;
- par -> device_info = of_match_device ( ssd1307fb_of_match ,
- & client -> dev ) -> data ;
+ par -> device_info = of_device_get_match_data ( & client -> dev );
par -> reset = of_get_named_gpio ( client -> dev . of_node ,
"reset-gpios" , 0 ); --
2.7.3
On 16/08/16 12:27, LABBE Corentin wrote: quoted hunk of_match_device return const data, so instead of casting its return value
this patch constify the device_info pointer.
Signed-off-by: LABBE Corentin <clabbe.montjoie@gmail.com>
---
drivers/video/fbdev/ssd1307fb.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/video/fbdev/ssd1307fb.c b/drivers/video/fbdev/ssd1307fb.c
index a9c45c8..b6c9ecf 100644
--- a/drivers/video/fbdev/ssd1307fb.c
+++ b/drivers/video/fbdev/ssd1307fb.c @@ -64,7 +64,7 @@ struct ssd1307fb_par {
u32 contrast ;
u32 dclk_div ;
u32 dclk_frq ;
- struct ssd1307fb_deviceinfo * device_info ;
+ const struct ssd1307fb_deviceinfo * device_info ;
struct i2c_client * client ;
u32 height ;
struct fb_info * info ; @@ -559,8 +559,8 @@ static int ssd1307fb_probe(struct i2c_client *client,
par -> info = info ;
par -> client = client ;
- par -> device_info = ( struct ssd1307fb_deviceinfo * ) of_match_device (
- ssd1307fb_of_match , & client -> dev ) -> data ;
+ par -> device_info = of_match_device ( ssd1307fb_of_match ,
+ & client -> dev ) -> data ;
par -> reset = of_get_named_gpio ( client -> dev . of_node ,
"reset-gpios" , 0 );
Thanks, queued these for 4.9.
Tomi