29 Dec, 2010

6 commits

  • for i in `find drivers/staging -type f -name *.[ch]` `find include/media -type f -name *.[ch]` `find drivers/media -type f -name *.[ch]`; do sed s,IR_TYPE,RC_TYPE,g a && mv a $i; done
    for i in `find drivers/staging -type f -name *.[ch]` `find include/media -type f -name *.[ch]` `find drivers/media -type f -name *.[ch]`; do sed s,ir_type,rc_type,g a && mv a $i; done

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • The Remote Controller subsystem is meant to be used not only by Infra Red
    but also for similar types of Remote Controllers. The core is not specific
    to Infra Red. As such, rename:
    - ir-core.h to rc-core.h
    - IR_CORE to RC_CORE
    - namespace inside rc-core.c/rc-core.h

    To be consistent with the other changes.

    No functional change on this patch.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • There are several fields on rc_dev that drivers can benefit. Allow drivers
    to pass it as a parameter to the driver.

    For now, the rc_dev parameter is optional. If drivers don't pass it, create
    them internally. However, the best is to create rc_dev inside the drivers,
    in order to fill other fields, like open(), close(), driver_name, etc.
    So, a latter patch making it mandatory and changing the caller drivers is
    welcome.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • This patch merges the ir_input_dev and ir_dev_props structs into a single
    struct called rc_dev. The drivers and various functions in rc-core used
    by the drivers are also changed to use rc_dev as the primary interface
    when dealing with rc-core.

    This means that the input_dev is abstracted away from the drivers which
    is necessary if we ever want to support multiple input devs per rc device.

    The new API is similar to what the input subsystem uses, i.e:
    rc_device_alloc()
    rc_device_free()
    rc_device_register()
    rc_device_unregister()

    [mchehab@redhat.com: Fix compilation on mceusb and cx231xx, due to merge conflicts]
    Signed-off-by: David Härdeman
    Acked-by: Jarod Wilson
    Tested-by: Jarod Wilson
    Signed-off-by: Mauro Carvalho Chehab

    David Härdeman
     
  • This patch removes the remaining usages of the ir_input_nokey() and
    ir_input_keydown() functions provided by drivers/media/IR/ir-functions.c
    by using the corresponding functionality in ir-core instead.

    Signed-off-by: David Härdeman
    Acked-by: Jarod Wilson
    Signed-off-by: Mauro Carvalho Chehab

    David Härdeman
     

21 Oct, 2010

2 commits


03 Aug, 2010

1 commit


19 May, 2010

2 commits

  • Pulse-distance is not a protocol, it is a line coding (used by some protocols,
    like NEC). Looking at the uses of IR_TYPE_PD, the real protocol seems to be
    NEC in all cases (drivers/media/video/cx88/cx88-input.c is the only user).

    So, remove IR_TYPE_PD while it is still easy to do so.

    Signed-off-by: David Härdeman
    Signed-off-by: Mauro Carvalho Chehab

    David Härdeman
     
  • Instead of using the ugly keymap sequences, use the new rc-*.ko keymap
    files. For now, it is still needed to have one keymap loaded, for the
    RC code to work. Later patches will remove this depenency.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     

27 Feb, 2010

2 commits


12 Sep, 2009

2 commits

  • Currently, V4L uses a scancode table whose index is the scancode and
    the value is the keycode. While this works, it has some drawbacks:

    1) It requires that the scancode to be at the range 00-7f;

    2) keycodes should be masked on 7 bits in order for it to work;

    3) due to the 7 bits approach, sometimes it is not possible to replace
    the default keyboard to another one with a different encoding rule;

    4) it is different than what is done with dvb-usb approach;

    5) it requires a typedef for it to work. This is not a recommended
    Linux CodingStyle.

    This patch is part of a larger series of IR changes. It basically
    replaces the IR_KEYTAB_TYPE tables by a structured table:
    struct ir_scancode {
    u16 scancode;
    u32 keycode;
    };

    This is very close to what dvb does. So, a further integration with DVB
    code will be easy.

    While we've changed the tables, for now, the IR keycode handling is still
    based on the old approach.

    The only notable effect is the redution of about 35% of the ir-common
    module size:

    text data bss dec hex filename
    6721 29208 4 35933 8c5d old/ir-common.ko
    5756 18040 4 23800 5cf8 new/ir-common.ko

    In thesis, we could be using above u8 for scancode, reducing even more the size
    of the module, but defining it as u16 is more convenient, since, on dvb, each
    scancode has up to 16 bits, and we currently have a few troubles with rc5, as their
    scancodes are defined with more than 8 bits.

    This patch itself shouldn't be doing any functional changes.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • This patch augments the init data passed by bridge drivers to
    ir-kbd-i2c, so that the ir_type can be set explicitly, and so
    ir-kbd-i2c internal get_key functions can be reused without
    requiring symbols from ir-kbd-i2c in the bridge driver.

    Signed-off-by: Andy Walls
    Reviewed-by: Jean Delvare
    Signed-off-by: Douglas Schilling Landgraf
    Signed-off-by: Mauro Carvalho Chehab

    Andy Walls
     

17 Jun, 2009

3 commits

  • For specific boards, pass initialization data to ir-kbd-i2c instead
    of modifying the settings after the device is initialized. This is
    more efficient and easier to read.

    Signed-off-by: Jean Delvare
    Signed-off-by: Mauro Carvalho Chehab

    Jean Delvare
     
  • Let card drivers probe for IR receiver devices and instantiate them if
    found. Ultimately it would be better if we could stop probing
    completely, but I suspect this won't be possible for all card types.

    There's certainly room for cleanups. For example, some drivers are
    sharing I2C adapter IDs, so they also had to share the list of I2C
    addresses being probed for an IR receiver. Now that each driver
    explicitly says which addresses should be probed, maybe some addresses
    can be dropped from some drivers.

    Also, the special cases in saa7134-i2c should probably be handled on a
    per-board basis. This would be more efficient and less risky than always
    probing extra addresses on all boards. I'll give it a try later.

    Signed-off-by: Jean Delvare
    Signed-off-by: Mauro Carvalho Chehab

    Jean Delvare
     
  • In the standard device driver binding model, the name field of
    struct i2c_client is used to match devices to their drivers, so we
    must stop using it for internal purposes. Define a separate field
    in struct IR_i2c as a replacement, and use it.

    Signed-off-by: Jean Delvare
    Signed-off-by: Mauro Carvalho Chehab

    Jean Delvare
     

30 Mar, 2009

1 commit


20 Jul, 2008

1 commit


25 Jun, 2006

1 commit

  • This adds support for the older (?) Pinnacle PCTV remotes (with all buttons
    colored in grey). There's no autodetection for the type of remote, though;
    saa7134 defaults to the colored one, to use the grey remote the
    "pinnacle_remote=1" option must be passed to the saa7134 module

    Signed-off-by: Sylvain Pasche
    Signed-off-by: Ricardo Cerqueira
    Signed-off-by: Mauro Carvalho Chehab

    Sylvain Pasche
     

14 Nov, 2005

1 commit

  • - The pinnacle handler & remote are common to saa7134 PCI boards and em28xx
    USB boards, so the keymap was moved to ir-common and the keyhandler is back
    to ir-kbd-i2c

    - request_module("ir-kbd-i2c") is no longer necessary at saa7134-core since
    saa7134.ko now depends on ir-kbd-i2c.ko to get the keyhandler

    Signed-off-by: Ricardo Cerqueira
    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ricardo Cerqueira
     

09 Nov, 2005

1 commit

  • - Several Improvement on I2C IR handling for em2820:
    - moved Pinnacle IR table (ir_codes_em2820) to em2820-input.c
    - IR struct renamed and moved to a header file.
    - New file to handle em2820-specific IR.
    - Some cleanups.
    - attach now detects I2C IR and calls em2820-specific IR code
    - IR compat code moved to compat.h
    - New header with struct IR_i2c there, to allow it to be
    used by board-specific input handlers.

    - Some improvements at em28xx board detection:
    - Board detection message improved to show interface and class.
    - Now it doesn't touch audio interfaces.

    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mauro Carvalho Chehab