All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel.vetter@ffwll.ch>
To: LKML <linux-kernel@vger.kernel.org>
Cc: Intel Graphics Development <intel-gfx@lists.freedesktop.org>,
	DRI Development <dri-devel@lists.freedesktop.org>,
	Daniel Vetter <daniel.vetter@ffwll.ch>,
	Daniel Vetter <daniel.vetter@intel.com>,
	Geert Uytterhoeven <geert+renesas@glider.be>,
	Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
	Markus Elfring <elfring@users.sourceforge.net>,
	Wolfram Sang <wsa+renesas@sang-engineering.com>
Subject: [PATCH 20/33] fbdev/sh_mob: Remove fb notifier callback
Date: Fri, 24 May 2019 10:53:41 +0200	[thread overview]
Message-ID: <20190524085354.27411-21-daniel.vetter@ffwll.ch> (raw)
In-Reply-To: <20190524085354.27411-1-daniel.vetter@ffwll.ch>

This seems to be entirely defunct:

- The FB_EVEN_SUSPEND/RESUME events are only sent out by
  fb_set_suspend. Which is supposed to be called by drivers in their
  suspend/resume hooks, and not itself call into drivers. Luckily
  sh_mob doesn't call fb_set_suspend, so this seems to do nothing
  useful.

- The notify hook calls sh_mobile_fb_reconfig() which in turn can
  call into the fb notifier. Or attempt too, since that would
  deadlock.

So looks like leftover hacks from when this was originally introduced
in

commit 6011bdeaa6089d49c02de69f05980da7bad314ab
Author: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Date:   Wed Jul 21 10:13:21 2010 +0000

    fbdev: sh-mobile: HDMI support for SH-Mobile SoCs

So let's just remove it.

Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Cc: Markus Elfring <elfring@users.sourceforge.net>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
 drivers/video/fbdev/sh_mobile_lcdcfb.c | 38 --------------------------
 1 file changed, 38 deletions(-)

diff --git a/drivers/video/fbdev/sh_mobile_lcdcfb.c b/drivers/video/fbdev/sh_mobile_lcdcfb.c
index c5924f5e98c6..0d7a044852d7 100644
--- a/drivers/video/fbdev/sh_mobile_lcdcfb.c
+++ b/drivers/video/fbdev/sh_mobile_lcdcfb.c
@@ -213,7 +213,6 @@ struct sh_mobile_lcdc_priv {
 	struct sh_mobile_lcdc_chan ch[2];
 	struct sh_mobile_lcdc_overlay overlays[4];
 
-	struct notifier_block notifier;
 	int started;
 	int forced_fourcc; /* 2 channel LCDC must share fourcc setting */
 };
@@ -2258,37 +2257,6 @@ static const struct dev_pm_ops sh_mobile_lcdc_dev_pm_ops = {
  * Framebuffer notifier
  */
 
-/* locking: called with info->lock held */
-static int sh_mobile_lcdc_notify(struct notifier_block *nb,
-				 unsigned long action, void *data)
-{
-	struct fb_event *event = data;
-	struct fb_info *info = event->info;
-	struct sh_mobile_lcdc_chan *ch = info->par;
-
-	if (&ch->lcdc->notifier != nb)
-		return NOTIFY_DONE;
-
-	dev_dbg(info->dev, "%s(): action = %lu, data = %p\n",
-		__func__, action, event->data);
-
-	switch(action) {
-	case FB_EVENT_SUSPEND:
-		sh_mobile_lcdc_display_off(ch);
-		sh_mobile_lcdc_stop(ch->lcdc);
-		break;
-	case FB_EVENT_RESUME:
-		mutex_lock(&ch->open_lock);
-		sh_mobile_fb_reconfig(info);
-		mutex_unlock(&ch->open_lock);
-
-		sh_mobile_lcdc_display_on(ch);
-		sh_mobile_lcdc_start(ch->lcdc);
-	}
-
-	return NOTIFY_OK;
-}
-
 /* -----------------------------------------------------------------------------
  * Probe/remove and driver init/exit
  */
@@ -2316,8 +2284,6 @@ static int sh_mobile_lcdc_remove(struct platform_device *pdev)
 	struct sh_mobile_lcdc_priv *priv = platform_get_drvdata(pdev);
 	unsigned int i;
 
-	fb_unregister_client(&priv->notifier);
-
 	for (i = 0; i < ARRAY_SIZE(priv->overlays); i++)
 		sh_mobile_lcdc_overlay_fb_unregister(&priv->overlays[i]);
 	for (i = 0; i < ARRAY_SIZE(priv->ch); i++)
@@ -2707,10 +2673,6 @@ static int sh_mobile_lcdc_probe(struct platform_device *pdev)
 			goto err1;
 	}
 
-	/* Failure ignored */
-	priv->notifier.notifier_call = sh_mobile_lcdc_notify;
-	fb_register_client(&priv->notifier);
-
 	return 0;
 err1:
 	sh_mobile_lcdc_remove(pdev);
-- 
2.20.1


WARNING: multiple messages have this Message-ID
From: Daniel Vetter <daniel.vetter@ffwll.ch>
To: LKML <linux-kernel@vger.kernel.org>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>,
	Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
	Daniel Vetter <daniel.vetter@ffwll.ch>,
	Intel Graphics Development <intel-gfx@lists.freedesktop.org>,
	DRI Development <dri-devel@lists.freedesktop.org>,
	Wolfram Sang <wsa+renesas@sang-engineering.com>,
	Daniel Vetter <daniel.vetter@intel.com>,
	Markus Elfring <elfring@users.sourceforge.net>
Subject: [PATCH 20/33] fbdev/sh_mob: Remove fb notifier callback
Date: Fri, 24 May 2019 10:53:41 +0200	[thread overview]
Message-ID: <20190524085354.27411-21-daniel.vetter@ffwll.ch> (raw)
In-Reply-To: <20190524085354.27411-1-daniel.vetter@ffwll.ch>

This seems to be entirely defunct:

- The FB_EVEN_SUSPEND/RESUME events are only sent out by
  fb_set_suspend. Which is supposed to be called by drivers in their
  suspend/resume hooks, and not itself call into drivers. Luckily
  sh_mob doesn't call fb_set_suspend, so this seems to do nothing
  useful.

- The notify hook calls sh_mobile_fb_reconfig() which in turn can
  call into the fb notifier. Or attempt too, since that would
  deadlock.

So looks like leftover hacks from when this was originally introduced
in

commit 6011bdeaa6089d49c02de69f05980da7bad314ab
Author: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Date:   Wed Jul 21 10:13:21 2010 +0000

    fbdev: sh-mobile: HDMI support for SH-Mobile SoCs

So let's just remove it.

Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Cc: Markus Elfring <elfring@users.sourceforge.net>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Wolfram Sang <wsa+renesas@sang-engineering.com>
---
 drivers/video/fbdev/sh_mobile_lcdcfb.c | 38 --------------------------
 1 file changed, 38 deletions(-)

diff --git a/drivers/video/fbdev/sh_mobile_lcdcfb.c b/drivers/video/fbdev/sh_mobile_lcdcfb.c
index c5924f5e98c6..0d7a044852d7 100644
--- a/drivers/video/fbdev/sh_mobile_lcdcfb.c
+++ b/drivers/video/fbdev/sh_mobile_lcdcfb.c
@@ -213,7 +213,6 @@ struct sh_mobile_lcdc_priv {
 	struct sh_mobile_lcdc_chan ch[2];
 	struct sh_mobile_lcdc_overlay overlays[4];
 
-	struct notifier_block notifier;
 	int started;
 	int forced_fourcc; /* 2 channel LCDC must share fourcc setting */
 };
@@ -2258,37 +2257,6 @@ static const struct dev_pm_ops sh_mobile_lcdc_dev_pm_ops = {
  * Framebuffer notifier
  */
 
-/* locking: called with info->lock held */
-static int sh_mobile_lcdc_notify(struct notifier_block *nb,
-				 unsigned long action, void *data)
-{
-	struct fb_event *event = data;
-	struct fb_info *info = event->info;
-	struct sh_mobile_lcdc_chan *ch = info->par;
-
-	if (&ch->lcdc->notifier != nb)
-		return NOTIFY_DONE;
-
-	dev_dbg(info->dev, "%s(): action = %lu, data = %p\n",
-		__func__, action, event->data);
-
-	switch(action) {
-	case FB_EVENT_SUSPEND:
-		sh_mobile_lcdc_display_off(ch);
-		sh_mobile_lcdc_stop(ch->lcdc);
-		break;
-	case FB_EVENT_RESUME:
-		mutex_lock(&ch->open_lock);
-		sh_mobile_fb_reconfig(info);
-		mutex_unlock(&ch->open_lock);
-
-		sh_mobile_lcdc_display_on(ch);
-		sh_mobile_lcdc_start(ch->lcdc);
-	}
-
-	return NOTIFY_OK;
-}
-
 /* -----------------------------------------------------------------------------
  * Probe/remove and driver init/exit
  */
@@ -2316,8 +2284,6 @@ static int sh_mobile_lcdc_remove(struct platform_device *pdev)
 	struct sh_mobile_lcdc_priv *priv = platform_get_drvdata(pdev);
 	unsigned int i;
 
-	fb_unregister_client(&priv->notifier);
-
 	for (i = 0; i < ARRAY_SIZE(priv->overlays); i++)
 		sh_mobile_lcdc_overlay_fb_unregister(&priv->overlays[i]);
 	for (i = 0; i < ARRAY_SIZE(priv->ch); i++)
@@ -2707,10 +2673,6 @@ static int sh_mobile_lcdc_probe(struct platform_device *pdev)
 			goto err1;
 	}
 
-	/* Failure ignored */
-	priv->notifier.notifier_call = sh_mobile_lcdc_notify;
-	fb_register_client(&priv->notifier);
-
 	return 0;
 err1:
 	sh_mobile_lcdc_remove(pdev);
-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  parent reply	other threads:[~2019-05-24  8:55 UTC|newest]

Thread overview: 106+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-24  8:53 [PATCH 00/33] fbcon notifier begone! Daniel Vetter
2019-05-24  8:53 ` Daniel Vetter
2019-05-24  8:53 ` [PATCH 01/33] dummycon: Sprinkle locking checks Daniel Vetter
2019-05-24  8:53   ` Daniel Vetter
2019-05-24  8:53 ` [PATCH 02/33] fbdev: locking check for fb_set_suspend Daniel Vetter
2019-05-24  8:53 ` [PATCH 03/33] vt: might_sleep() annotation for do_blank_screen Daniel Vetter
2019-05-24  8:53 ` [PATCH 04/33] vt: More locking checks Daniel Vetter
2019-05-24  8:53   ` Daniel Vetter
2019-05-27  7:08   ` Daniel Vetter
2019-05-27  7:08     ` Daniel Vetter
2019-05-27  7:22     ` Greg Kroah-Hartman
2019-05-24  8:53 ` [PATCH 05/33] fbdev/sa1100fb: Remove dead code Daniel Vetter
2019-05-24  8:53 ` [PATCH 06/33] fbdev/cyber2000: Remove struct display Daniel Vetter
2019-05-24  8:53   ` Daniel Vetter
2019-05-24  8:53 ` [PATCH 07/33] fbdev/aty128fb: Remove dead code Daniel Vetter
2019-05-24  8:53   ` Daniel Vetter
2019-05-24  8:53 ` [PATCH 08/33] fbcon: s/struct display/struct fbcon_display/ Daniel Vetter
2019-05-24  8:53   ` Daniel Vetter
2019-05-24  8:53 ` [PATCH 09/33] fbcon: Remove fbcon_has_exited Daniel Vetter
2019-05-25 15:38   ` Sam Ravnborg
2019-05-25 15:38     ` Sam Ravnborg
2019-05-27  6:10     ` Daniel Vetter
2019-05-27  6:10       ` Daniel Vetter
2019-05-27  6:51       ` Sam Ravnborg
2019-05-27  6:51         ` Sam Ravnborg
2019-05-24  8:53 ` [PATCH 10/33] fbcon: call fbcon_fb_(un)registered directly Daniel Vetter
2019-05-24  8:53   ` Daniel Vetter
2019-05-24  8:53   ` Daniel Vetter
2019-05-24  8:53   ` Daniel Vetter
2019-05-24  8:53 ` [PATCH 11/33] fbdev/sh_mobile: remove sh_mobile_lcdc_display_notify Daniel Vetter
2019-05-24  8:53   ` Daniel Vetter
2019-05-25 15:01   ` Sam Ravnborg
2019-05-25 15:01     ` Sam Ravnborg
2019-05-27  6:13     ` Daniel Vetter
2019-05-27  6:52       ` Sam Ravnborg
2019-05-24  8:53 ` [PATCH 12/33] fbdev/omap: sysfs files can't disappear before the device is gone Daniel Vetter
2019-05-24  8:53 ` [PATCH 13/33] fbdev: " Daniel Vetter
2019-05-24  8:53   ` Daniel Vetter
2019-05-24  8:53 ` [PATCH 14/33] staging/olpc: lock_fb_info can't fail Daniel Vetter
2019-05-24  8:53   ` Daniel Vetter
2019-05-27  7:10   ` Daniel Vetter
2019-05-27  7:22     ` Greg KH
2019-05-27  7:22       ` Greg KH
2019-05-24  8:53 ` [PATCH 15/33] fbdev/atyfb: " Daniel Vetter
2019-05-24  8:53   ` Daniel Vetter
2019-05-24  8:53 ` [PATCH 16/33] fbdev: lock_fb_info cannot fail Daniel Vetter
2019-05-24  8:53   ` Daniel Vetter
2019-05-24  8:53   ` Daniel Vetter
2019-05-24  8:53 ` [PATCH 17/33] fbcon: call fbcon_fb_bind directly Daniel Vetter
2019-05-24  8:53   ` Daniel Vetter
2019-05-24  8:53   ` Daniel Vetter
2019-05-24  8:53 ` [PATCH 18/33] fbdev: make unregister/unlink functions not fail Daniel Vetter
2019-05-24  8:53   ` Daniel Vetter
2019-05-24  8:53 ` [PATCH 19/33] fbdev: unify unlink_framebuffer paths Daniel Vetter
2019-05-24  8:53   ` Daniel Vetter
2019-05-24  8:53 ` Daniel Vetter [this message]
2019-05-24  8:53   ` [PATCH 20/33] fbdev/sh_mob: Remove fb notifier callback Daniel Vetter
2019-05-24  8:53 ` [PATCH 21/33] fbdev: directly call fbcon_suspended/resumed Daniel Vetter
2019-05-24  8:53   ` Daniel Vetter
2019-05-24  8:53 ` [PATCH 22/33] fbcon: Call fbcon_mode_deleted/new_modelist directly Daniel Vetter
2019-05-24  8:53   ` Daniel Vetter
2019-05-24  8:53   ` Daniel Vetter
2019-05-24  8:53 ` [PATCH 23/33] fbdev: Call fbcon_get_requirement directly Daniel Vetter
2019-05-24  8:53   ` Daniel Vetter
2019-05-24  8:53   ` Daniel Vetter
2019-05-24  8:53 ` [PATCH 24/33] Revert "backlight/fbcon: Add FB_EVENT_CONBLANK" Daniel Vetter
2019-05-24  8:53   ` Daniel Vetter
2019-05-24 13:14   ` Daniel Thompson
2019-05-24 13:14     ` Daniel Thompson
2019-05-24 13:14     ` Daniel Thompson
2019-05-24 15:28     ` Daniel Vetter
2019-05-24 15:28       ` Daniel Vetter
2019-05-27 10:59       ` Bartlomiej Zolnierkiewicz
2019-05-27 10:59         ` Bartlomiej Zolnierkiewicz
2019-05-24  8:53 ` [PATCH 25/33] fbmem: pull fbcon_fb_blanked out of fb_blank Daniel Vetter
2019-05-25 17:00   ` Sam Ravnborg
2019-05-25 17:00     ` Sam Ravnborg
2019-05-24  8:53 ` [PATCH 26/33] fbdev: remove FBINFO_MISC_USEREVENT around fb_blank Daniel Vetter
2019-05-24  8:53 ` [PATCH 27/33] fb: Flatten control flow in fb_set_var Daniel Vetter
2019-05-24  8:53 ` [PATCH 28/33] fbcon: replace FB_EVENT_MODE_CHANGE/_ALL with direct calls Daniel Vetter
2019-05-24  8:53   ` Daniel Vetter
2019-05-24  8:53 ` [PATCH 29/33] vgaswitcheroo: call fbcon_remap_all directly Daniel Vetter
2019-05-24  8:53   ` Daniel Vetter
2019-05-24  8:53 ` [PATCH 30/33] fbcon: Call con2fb_map functions directly Daniel Vetter
2019-05-24  8:53 ` [PATCH 31/33] fbcon: Document what I learned about fbcon locking Daniel Vetter
2019-05-24  8:53 ` [PATCH 32/33] staging/olpc_dcon: Add drm conversion to TODO Daniel Vetter
2019-05-27  7:11   ` Daniel Vetter
2019-05-27  7:11     ` Daniel Vetter
2019-05-27  7:22     ` Greg KH
2019-05-24  8:53 ` [PATCH 33/33] backlight: simplify lcd notifier Daniel Vetter
2019-05-24 11:03 ` ✗ Fi.CI.CHECKPATCH: warning for fbcon notifier begone! (rev3) Patchwork
2019-05-24 11:18 ` ✗ Fi.CI.SPARSE: " Patchwork
2019-05-24 11:23 ` ✓ Fi.CI.BAT: success " Patchwork
2019-05-25 17:19 ` [PATCH 00/33] fbcon notifier begone! Sam Ravnborg
2019-05-27  7:17   ` Daniel Vetter
2019-05-27 11:56     ` Daniel Vetter
2019-05-25 17:24 ` ✗ Fi.CI.IGT: failure for fbcon notifier begone! (rev3) Patchwork
2019-05-26 15:34 ` ✗ Fi.CI.CHECKPATCH: warning for fbcon notifier begone! (rev4) Patchwork
2019-05-26 15:49 ` ✗ Fi.CI.SPARSE: " Patchwork
2019-05-26 15:53 ` ✓ Fi.CI.BAT: success " Patchwork
2019-05-27 11:02 ` ✓ Fi.CI.IGT: " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2019-05-28  9:02 [PATCH 00/33] fbcon notifier begone v3! Daniel Vetter
2019-05-28  9:02 ` [PATCH 20/33] fbdev/sh_mob: Remove fb notifier callback Daniel Vetter
2019-05-28  9:02   ` Daniel Vetter
2019-05-20  8:21 [PATCH 00/33] fbcon notifier begone! Daniel Vetter
2019-05-20  8:22 ` [PATCH 20/33] fbdev/sh_mob: Remove fb notifier callback Daniel Vetter
2019-05-20  9:05   ` Geert Uytterhoeven
2019-05-20  9:19     ` Daniel Vetter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190524085354.27411-21-daniel.vetter@ffwll.ch \
    --to=daniel.vetter@ffwll.ch \
    --cc=b.zolnierkie@samsung.com \
    --cc=daniel.vetter@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=elfring@users.sourceforge.net \
    --cc=geert+renesas@glider.be \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=wsa+renesas@sang-engineering.com \
    --subject='Re: [PATCH 20/33] fbdev/sh_mob: Remove fb notifier callback' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.