Skip to content

Commit

Permalink
fbdev: sh_mobile_hdmi: Don't access LCDC channel in notifier callback
Browse files Browse the repository at this point in the history
Instead of relying on info->par being a pointer to an LCDC channel, cast
the notifier block pointer to an sh_hdmi pointer.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  • Loading branch information
Laurent Pinchart committed Mar 12, 2012
1 parent 37c5dcc commit 12ee250
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions drivers/video/sh_mobile_hdmi.c
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,8 @@ struct sh_hdmi {
struct notifier_block notifier;
};

#define notifier_to_hdmi(n) container_of(n, struct sh_hdmi, notifier)

static void hdmi_write(struct sh_hdmi *hdmi, u8 data, u8 reg)
{
iowrite8(data, hdmi->base + reg);
Expand Down Expand Up @@ -1204,11 +1206,9 @@ static int sh_hdmi_notify(struct notifier_block *nb,
{
struct fb_event *event = data;
struct fb_info *info = event->info;
struct sh_mobile_lcdc_chan *ch = info->par;
struct sh_mobile_lcdc_board_cfg *board_cfg = &ch->cfg.board_cfg;
struct sh_hdmi *hdmi = board_cfg->board_data;
struct sh_hdmi *hdmi = notifier_to_hdmi(nb);

if (!hdmi || nb != &hdmi->notifier || hdmi->info != info)
if (hdmi->info != info)
return NOTIFY_DONE;

switch(action) {
Expand Down

0 comments on commit 12ee250

Please sign in to comment.