18 Jul, 2016

1 commit

  • On mips and parisc:

    drivers/bluetooth/btwilink.c: In function 'ti_st_open':
    drivers/bluetooth/btwilink.c:174:21: warning: overflow in implicit constant conversion [-Woverflow]
    hst->reg_status = -EINPROGRESS;

    drivers/nfc/nfcwilink.c: In function 'nfcwilink_open':
    drivers/nfc/nfcwilink.c:396:31: warning: overflow in implicit constant conversion [-Woverflow]
    drv->st_register_cb_status = -EINPROGRESS;

    There are actually two issues:
    1. Whether "char" is signed or unsigned depends on the architecture.
    As the completion callback data is used to pass a (negative) error
    code, it should always be signed.
    2. EINPROGRESS is 150 on mips, 245 on parisc.
    Hence -EINPROGRESS doesn't fit in a signed 8-bit number.

    Change the callback status from "char" to "int" to fix these.

    Signed-off-by: Geert Uytterhoeven
    Acked-by: Mauro Carvalho Chehab
    Acked-by: Samuel Ortiz
    Signed-off-by: Marcel Holtmann

    Geert Uytterhoeven
     

21 Sep, 2015

1 commit


06 Aug, 2015

1 commit

  • This reverts commit 46d0d33350e9b32642d745a8b46a954910196b4d.

    This binding is horrible and never should have been merged. It is not
    documented nor are there any in tree users, so reverting it will not
    break anything we care about. Lets revert it before we do have users.

    The problems with it are:

    - It is not documented.

    - The GPIO connection is described with a custom property and uses Linux
    GPIO numbering.

    - The UART connection is described using the Linux tty device name.

    Cc: Gigi Joseph
    Cc: Greg Kroah-Hartman
    Signed-off-by: Rob Herring
    Signed-off-by: Greg Kroah-Hartman

    Rob Herring
     

04 Feb, 2015

1 commit

  • The big issue here is:

    of_property_read_u32(np, "flow_cntrl", (u32 *)&dt_pdata->flow_cntrl);

    "->flow_cntrl" is a char so when we write a 32 bit number to it then it
    corrupts past the end of the char. It's probably hard to notice because
    the struct has padding so the code works on little endian systems. But
    on a big endian system the code would fail and on a 64 bit, big endian
    systems then "nshutdown_gpio" and "baud_rate" would be buggy as well.

    Signed-off-by: Dan Carpenter
    Signed-off-by: Greg Kroah-Hartman

    Dan Carpenter
     

12 Jan, 2015

1 commit

  • When using device tree, driver configuration data need to be read from
    device node.
    Add support for getting the platform data information from the device
    tree information stored in the .dtb file in case it exists.

    Signed-off-by: Eyal Reizer
    Signed-off-by: bvijay
    Diff rendering mode:inlineside by side

    Signed-off-by: Gigi Joseph
    Signed-off-by: Greg Kroah-Hartman

    Gigi Joseph
     

24 Sep, 2014

1 commit


17 Aug, 2012

1 commit


10 May, 2012

1 commit


23 Aug, 2011

1 commit

  • Certain platform specific or Host-WiLink Interface specific actions would be
    required to be taken when the chip is being enabled and after the chip is
    disabled such as configuration of the mux modes for the GPIO of host connected
    to the nshutdown of the chip or relinquishing UART after the chip is disabled.

    Similar actions can also be taken when the chip is in deep sleep or when the
    chip is awake. Performance enhancements such as configuring the host to run
    faster when chip is awake and slower when chip is asleep can also be made
    here.

    Signed-off-by: Pavan Savoy
    Signed-off-by: Greg Kroah-Hartman

    Pavan Savoy
     

23 Apr, 2011

1 commit

  • When certain technologies shutdown their interface without waiting for
    the acknowledgement from the chip. The receive_buf from the TTY would be
    invoked a while after the relevant technology is unregistered.

    This patch introduces a new flag "is_registered" which maintains the
    state of protocols BT, FM or GPS and thereby removes the need to clear
    the protocol data from ST when protocols gets unregistered.

    This fixes corner cases when HCI RESET is sent down from bluetooth stack
    and the receive_buf is called from tty after 250ms before which
    bluetooth would have unregistered from the system.
    OR - when FM application decides to close down the device without
    sending a power-off FM command resulting in some RDS data or interrupt
    data coming in after the driver is unregistered.

    Signed-off-by: Pavan Savoy
    Signed-off-by: Greg Kroah-Hartman

    Pavan Savoy
     

05 Feb, 2011

4 commits

  • TI shared transport driver previously intended to expose rfkill
    entries for each of the protocol gpio that the chip would have.
    However now in case such gpios exist, which requires to be enabled
    for a specific protocol, the responsibility lay on protocol driver.
    This patch removes the request/free of multiple gpios, rfkill struct
    references and also removes the chip_toggle function.

    Signed-off-by: Pavan Savoy
    Signed-off-by: Greg Kroah-Hartman

    Pavan Savoy
     
  • To fasten the process of firmware download, the chip allows
    disabling of the command complete event generation from host.
    In these cases, only few very essential commands would have
    the command complete events and hence the wait associated with
    them.

    So now the driver would wait for a command complete event, only
    when it comes across a wait event during firmware parsing.
    This would also mean we need to skip not just the change baud
    rate command but also the wait for it.

    Signed-off-by: Pavan Savoy
    Signed-off-by: Greg Kroah-Hartman

    Pavan Savoy
     
  • The communication between ST KIM and UIM was interfaced
    over the /dev/rfkill device node.
    Move the interface to a simpler less abusive sysfs entry
    mechanism and document it in Documentation/ABI/testing/
    under sysfs-platform-kim.

    Shared transport driver would now read the UART details
    originally received by bootloader or firmware as platform
    data.
    The data read will be shared over sysfs entries for the user-space
    UIM or other n/w manager/plugins to be read, and assist the driver
    by opening up the UART, setting the baud-rate and installing the
    line discipline.

    Signed-off-by: Pavan Savoy
    Signed-off-by: Greg Kroah-Hartman

    Pavan Savoy
     
  • The architecture of shared transport had begun with individual
    protocols like bluetooth, fm and gps telling the shared transport
    what sort of protocol they are and then expecting the ST driver
    to parse the incoming data from chip and forward data only
    relevant to the protocol drivers.

    This change would mean each protocol drivers would also send
    information to ST driver as to how to intrepret their protocol
    data coming out of the chip.

    Signed-off-by: Pavan Savoy
    Signed-off-by: Greg Kroah-Hartman

    Pavan Savoy
     

15 Oct, 2010

1 commit

  • Based on comments from Jiri Slaby, drop the register
    storage specifier, remove the unused code, cleanup
    the const to non-const type casting.
    Also make the line discipline ops structure static, since
    its a singleton, unmodified structure which need not be
    in heap.

    Reported-by: Jiri Slaby
    Signed-off-by: Pavan Savoy
    Signed-off-by: Greg Kroah-Hartman

    Pavan Savoy
     

06 Oct, 2010

1 commit

  • Move the header to a standard linux device driver location.
    This should pave the way for other drivers to be moved into the relevant
    directories.

    ti_wilink_st.h is a common header file used by the TI's shared transport device
    driver for WiLink chipsets. Each individual protocol drivers like bluetooth
    driver, FM V4L2 driver and GPS drivers will make use of this header.

    Signed-off-by: Pavan Savoy
    Signed-off-by: Greg Kroah-Hartman

    Pavan Savoy