linux-sg2042/drivers/gpu/drm/nouveau
Daniel Vetter b0e898ac55 drm: remove FASYNC support
So I've stumbled over drm_fasync and wondered what it does. Digging
that up is quite a story.

First I've had to read up on what this does and ended up being rather
bewildered why peopled loved signals so much back in the days that
they've created SIGIO just for that ...

Then I wondered how this ever works, and what that strange "No-op."
comment right above it should mean. After all calling the core fasync
helper is pretty obviously not a noop. After reading through the
kernels FASYNC implementation I've noticed that signals are only sent
out to the processes attached with FASYNC by calling kill_fasync.

No merged drm driver has ever done that.

After more digging I've found out that the only driver that ever used
this is the so called GAMMA driver. I've frankly never heard of such a
gpu brand ever before. Now FASYNC seems to not have been the only bad
thing with that driver, since Dave Airlie removed it from the drm
driver with prejudice:

commit 1430163b4bbf7b00367ea1066c1c5fe85dbeefed
Author: Dave Airlie <airlied@linux.ie>
Date:   Sun Aug 29 12:04:35 2004 +0000

    Drop GAMMA DRM from a great height ...

Long story short, the drm fasync support seems to be doing absolutely
nothing. And the only user of it was never merged into the upstream
kernel. And we don't need any fops->fasync callback since the fcntl
implementation in the kernel already implements the noop case
correctly.

So stop this particular cargo-cult and rip it all out.

v2: Kill drm_fasync assignments in rcar (newly added) and imx drivers
(somehow I've missed that one in staging). Also drop the reference in
the drm DocBook. ARM compile-fail reported by Rob Clark.

v3: Move the removal of dev->buf_asnyc assignment in drm_setup to this
patch here.

v4: Actually git add ... tsk.

Cc: Dave Airlie <airlied@linux.ie>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Rob Clark <robdclark@gmail.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: David Herrmann <dh.herrmann@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2013-08-19 10:05:17 +10:00
..
core Merge tag 'drm-intel-next-2013-07-26-fixed' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2013-08-07 18:11:35 +10:00
dispnv04 drm/nv04/disp: hide all the cruft away in its own little hole 2013-04-26 15:37:51 +10:00
Kconfig drm/nouveau: always select ACPI_VIDEO if ACPI is enabled. 2013-06-28 11:56:22 +10:00
Makefile drm/nvd7/gr: initial support 2013-07-05 13:43:16 +10:00
nouveau_abi16.c drm/nouveau: unpin notify object in chan_fini 2013-06-28 11:55:48 +10:00
nouveau_abi16.h drm/nouveau: port all engines to new engine module format 2012-10-03 13:12:56 +10:00
nouveau_acpi.c drm/nouveau: Add interface to detect optimus and v1 support 2012-11-29 09:57:59 +10:00
nouveau_acpi.h nouveau: ACPI support depends on X86 and X86_PLATFORM_DEVICES 2013-02-20 16:05:16 +10:00
nouveau_agp.c drm/nouveau: Disable AGP on PowerPC again. 2013-03-04 11:46:12 +10:00
nouveau_agp.h drm/nouveau: implement devinit subdev, and new init table parser 2012-10-03 13:12:47 +10:00
nouveau_backlight.c drm/nouveau/drm: adding support for backlight control of GT525M (NVC0) 2013-04-26 15:37:45 +10:00
nouveau_bios.c drm/nvd0-/disp: handle case where display engine is missing/disabled 2013-07-01 13:50:50 +10:00
nouveau_bios.h drm/nv04/disp: hide all the cruft away in its own little hole 2013-04-26 15:37:51 +10:00
nouveau_bo.c drm/nouveau: do not allow negative sizes for now 2013-07-10 10:48:07 +10:00
nouveau_bo.h drm/nouveau: use prime helpers 2013-02-08 13:39:09 +10:00
nouveau_chan.c drm/nouveau/fb: initialise vram controller as pfb sub-object 2013-07-01 13:44:04 +10:00
nouveau_chan.h drm/nve0: use async copy engine for ttm buffer moves if available 2012-10-03 13:13:02 +10:00
nouveau_connector.c drm/nv04/disp: hide all the cruft away in its own little hole 2013-04-26 15:37:51 +10:00
nouveau_connector.h drm/nouveau/gpio: use event interfaces for interrupt signalling 2013-02-20 16:00:50 +10:00
nouveau_crtc.h drm/nouveau: rename nvd0_display to nv50_display to reflect reality since merge 2012-11-29 09:57:58 +10:00
nouveau_debugfs.c drm/nouveau: restore debugfs/vbios.rom support 2013-02-20 20:46:34 +10:00
nouveau_debugfs.h drm/nouveau: restore debugfs/vbios.rom support 2013-02-20 20:46:34 +10:00
nouveau_display.c Merge tag 'drm-intel-next-2013-07-26-fixed' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2013-08-07 18:11:35 +10:00
nouveau_display.h drm/gem: create drm_gem_dumb_destroy 2013-08-07 09:59:24 +10:00
nouveau_dma.c drm/nouveau: port all engines to new engine module format 2012-10-03 13:12:56 +10:00
nouveau_dma.h drm/nouveau/fence/nv84-: put processes to sleep while waiting on fences 2013-02-20 16:00:48 +10:00
nouveau_dp.c drm/nv50-/disp: move DP link training to core and train from supervisor 2013-02-20 16:01:02 +10:00
nouveau_drm.c drm: remove FASYNC support 2013-08-19 10:05:17 +10:00
nouveau_drm.h drm/nouveau: fix minor thinko causing bo moves to not be async on kepler 2013-07-08 10:52:02 +10:00
nouveau_encoder.h drm/nv04/disp: hide all the cruft away in its own little hole 2013-04-26 15:37:51 +10:00
nouveau_fbcon.c drm/nouveau: fix some error-path leaks in fbcon handling code 2013-07-10 10:47:28 +10:00
nouveau_fbcon.h Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
nouveau_fence.c drm/nouveau: bump fence timeout to 15 seconds 2013-07-10 10:48:00 +10:00
nouveau_fence.h drm/nouveau: delay busy bo vma removal until fence signals 2013-07-01 13:50:31 +10:00
nouveau_gem.c Merge tag 'drm-intel-next-2013-07-26-fixed' of git://people.freedesktop.org/~danvet/drm-intel into drm-next 2013-08-07 18:11:35 +10:00
nouveau_gem.h drm/nouveau: implement prime helper unpin function 2013-06-28 11:55:34 +10:00
nouveau_hwsq.h drm/nouveau/hwsq: remove some magic, give proper opcode names 2011-12-21 19:01:44 +10:00
nouveau_ioc32.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
nouveau_ioctl.h drm/nouveau: move compat ioctl out of nouveau_drv.h 2012-10-03 13:12:58 +10:00
nouveau_mem.c drm/nouveau/fb: initialise vram controller as pfb sub-object 2013-07-01 13:44:04 +10:00
nouveau_perf.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
nouveau_pm.c drm/nouveau/hwmon: do not expose a buggy temperature if it is unavailable 2013-03-18 11:15:27 +10:00
nouveau_pm.h drm/nouveau/therm: move thermal-related functions to the therm subdev 2012-10-03 13:13:14 +10:00
nouveau_prime.c drm/nouveau: implement prime helper unpin function 2013-06-28 11:55:34 +10:00
nouveau_reg.h drm/nva3/backlight: add suppport for newer style backlight regs 2011-09-20 16:10:06 +10:00
nouveau_sgdma.c drm/nouveau: port all engines to new engine module format 2012-10-03 13:12:56 +10:00
nouveau_ttm.c Merge branch 'drm-nouveau-next' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next 2013-07-01 14:10:20 +10:00
nouveau_ttm.h drm/nouveau: port remainder of drm code, and rip out compat layer 2012-10-03 13:12:59 +10:00
nouveau_vga.c drm/nouveau: convert to dev_pm_ops 2012-11-29 09:58:00 +10:00
nouveau_vga.h drm/nouveau: port remainder of drm code, and rip out compat layer 2012-10-03 13:12:59 +10:00
nouveau_volt.c Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2012-10-03 23:29:23 -07:00
nv04_fbcon.c drm/nouveau: port remainder of drm code, and rip out compat layer 2012-10-03 13:12:59 +10:00
nv04_fence.c drm/nouveau/fence: make internal hooks part of the context 2013-02-20 16:00:53 +10:00
nv04_pm.c drm/nv04/disp: hide all the cruft away in its own little hole 2013-04-26 15:37:51 +10:00
nv10_fence.c drm/nouveau/fence: make internal hooks part of the context 2013-02-20 16:00:53 +10:00
nv10_fence.h drm/nouveau: share fence structures between nv10+ and nv50 implementations 2013-02-20 16:00:34 +10:00
nv17_fence.c drm/nouveau/fence: make internal hooks part of the context 2013-02-20 16:00:53 +10:00
nv40_pm.c drm/nv04/disp: hide all the cruft away in its own little hole 2013-04-26 15:37:51 +10:00
nv50_display.c drm/nv50/kms: fix pin refcnt leaks 2013-07-10 10:47:42 +10:00
nv50_display.h drm/nouveau: rename nvd0_display to nv50_display to reflect reality since merge 2012-11-29 09:57:58 +10:00
nv50_fbcon.c drm/nouveau: port remainder of drm code, and rip out compat layer 2012-10-03 13:12:59 +10:00
nv50_fence.c drm/nouveau/fence: make internal hooks part of the context 2013-02-20 16:00:53 +10:00
nv50_pm.c drm/nouveau/fb: initialise vram controller as pfb sub-object 2013-07-01 13:44:04 +10:00
nv84_fence.c drm/nv84-/fence: prepare for emit/sync support of sysram sequences 2013-02-20 16:00:53 +10:00
nva3_pm.c drm/nouveau/fb: initialise vram controller as pfb sub-object 2013-07-01 13:44:04 +10:00
nvc0_fbcon.c drm/nouveau: port remainder of drm code, and rip out compat layer 2012-10-03 13:12:59 +10:00
nvc0_fence.c drm/nv84-/fence: prepare for emit/sync support of sysram sequences 2013-02-20 16:00:53 +10:00
nvc0_pm.c drm/nouveau/fb: initialise vram controller as pfb sub-object 2013-07-01 13:44:04 +10:00