video: omap: Remove in_interrupt() usage.
authorAhmed S. Darwish <a.darwish@linutronix.de>
Mon, 8 Feb 2021 22:38:08 +0000 (23:38 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 18 Feb 2021 14:14:32 +0000 (15:14 +0100)
commit6e4863dbb5612f3166c1c8d1e261254d02a95627
tree83d1d8c3ceb35ec35e8886840ded24acf453a2e4
parent92f1d09ca4ed4a84b0a187f797b111e2c6299d56
video: omap: Remove in_interrupt() usage.

alloc_req() uses in_interrupt() to detect if it is safe to use down().

The usage of in_interrupt() in drivers is phased out and Linus clearly
requested that code which changes behaviour depending on context should
either be separated or the context be conveyed in an argument passed by the
caller, which usually knows the context.

The semaphore is used as a counting semaphore, initialized with the
number of slots in the request pool minus IRQ_REQ_POOL_SIZE - which are
reserved for the in_interrupt() user to ensure that a request is always
available. The preemptible user will block on the semphore waiting for a
request to become available in case there are no requests available.

Replace in_interrupt() with a `can_sleep' argument to indicate if it is
safe to block on the sempahore.

Cc: linux-omap@vger.kernel.org
Signed-off-by: Ahmed S. Darwish <a.darwish@linutronix.de>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20210208223810.388502-2-bigeasy@linutronix.de
drivers/video/fbdev/omap/hwa742.c