• J
    [media] IR/lirc: further ioctl portability fixups · be1f985f
    Jarod Wilson 提交于
    >From Joris van Rantwijk <jorispubl@xs4all.nl>:
    
    	I tested lirc_serial and found that it works fine.
    	Except the LIRC ioctls do not work in my 64-bit-kernel/32-bit-user
    	setup. I added compat_ioctl entries in the drivers to fix this.
    
    	While doing so, I noticed inconsistencies in the argument type of
    	the LIRC ioctls. All ioctls are declared in lirc.h as having argument
    	type __u32, however there are a few places where the driver calls
    	get_user/put_user with an unsigned long argument.
    
    	The patch below changes lirc_dev and lirc_serial to use __u32 for all
    	ioctl arguments, and adds compat_ioctl entries.
    	It should probably also be done in the other low-level drivers,
    	but I don't have hardware to test those.
    
    I've dropped the .compat_ioctl addition from Joris' original patch,
    as I swear the non-compat definition should now work for both 32-bit
    and 64-bit userspace. Technically, I think we still need/want a
    in getting a reply to you).
    Reported-by: NJoris van Rantwijk <jorispubl@xs4all.nl>
    Signed-off-by: NJarod Wilson <jarod@redhat.com>
    Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
    be1f985f
lirc_dev.c 17.2 KB