Em Mon, 1 Jan 2018 19:42:40 +0000
Bryan O'Donoghue [off-list ref] escreveu:
Right now it is not possible to return a value larger than LONG_MAX on 32
bit systems. You can pass a rate of ULONG_MAX but can't return anything
past LONG_MAX due to the fact both the rounded_rate and negative error
codes are represented in the return value of round_rate().
Most implementations either return zero on error or don't return error
codes at all. A minority of implementations do return a negative number -
typically -EINVAL or -ENODEV.
At the higher level then callers of round_rate() typically and rightly
check for a value of <= 0.
It is possible then to convert round_rate() to an unsigned long return
value and change error code indication for the minority from -ERRORCODE to
a simple 0.
This patch is the first step in making it possible to scale round_rate past
LONG_MAX, later patches will change the previously mentioned minority of
round_rate() implementations to return zero only on error if those
implementations currently return a negative error number. Implementations
that do not return an error code of < 0 will be left as-is.
drivers/media/platform/omap3isp/isp.c | 4 ++--
Acked-by: Mauro Carvalho Chehab <redacted>
Thanks,
Mauro