30 Oct, 2015

1 commit

  • Use devm_ioremap_resource() in order to make the code simpler,
    and remove redundant return value check of platform_get_resource()
    because this value is alreadytaken care by devm_ioremap_resource()

    Signed-off-by: Sanjeev Sharma
    Signed-off-by: Sebastian Reichel

    Sanjeev Sharma
     

14 Oct, 2015

1 commit

  • The error handling path is broken as cawake_gpio was defined as
    unsigned integer causing the following warnings on boards that don't
    use SSI port and so don't have cawake_gpio defined. e.g. beagleboard C4.

    [ 30.094635] WARNING: CPU: 0 PID: 322 at drivers/gpio/gpiolib.c:86 gpio_to_desc+0xa4/0xb8()
    [ 30.103363] invalid GPIO -2
    [ 30.106292] Modules linked in: omap_ssi_port(+) cpufreq_dt cfbfillrect cfbimgblt leds_gpio cfbcopyarea thermal_sys led_class hwmon gpio_keys encoder_tfp410 connector_analog_tv connector_dvi omap_hdq snd phy_i
    [ 30.145477] CPU: 0 PID: 322 Comm: modprobe Not tainted 4.3.0-rc4-00030-gca978c0-dirty #335
    [ 30.154174] Hardware name: Generic OMAP3-GP (Flattened Device Tree)
    [ 30.160827] [] (unwind_backtrace) from [] (show_stack+0x10/0x14)
    [ 30.168975] [] (show_stack) from [] (dump_stack+0x80/0x9c)
    [ 30.176635] [] (dump_stack) from [] (warn_slowpath_common+0x7c/0xb8)
    [ 30.185180] [] (warn_slowpath_common) from [] (warn_slowpath_fmt+0x30/0x40)
    [ 30.194366] [] (warn_slowpath_fmt) from [] (gpio_to_desc+0xa4/0xb8)
    [ 30.202819] [] (gpio_to_desc) from [] (gpio_request_one+0x14/0x11c)
    [ 30.211273] [] (gpio_request_one) from [] (devm_gpio_request_one+0x3c/0x78)
    [ 30.220458] [] (devm_gpio_request_one) from [] (ssi_port_probe+0x118/0x504 [omap_ssi_port])
    [ 30.231170] [] (ssi_port_probe [omap_ssi_port]) from [] (platform_drv_probe+0x48/0xa4)
    [ 30.241424] [] (platform_drv_probe) from [] (driver_probe_device+0x1dc/0x2a0)
    [ 30.250793] [] (driver_probe_device) from [] (__driver_attach+0x94/0x98)
    [ 30.259643] [] (__driver_attach) from [] (bus_for_each_dev+0x54/0x88)
    [ 30.268249] [] (bus_for_each_dev) from [] (bus_add_driver+0xe8/0x1f8)
    [ 30.276916] [] (bus_add_driver) from [] (driver_register+0x78/0xf4)
    [ 30.285369] [] (driver_register) from [] (__platform_driver_probe+0x34/0xd8)
    [ 30.294647] [] (__platform_driver_probe) from [] (do_one_initcall+0x80/0x1d8)
    [ 30.303985] [] (do_one_initcall) from [] (do_init_module+0x5c/0x1cc)
    [ 30.312561] [] (do_init_module) from [] (load_module+0x18c8/0x1f0c)
    [ 30.320983] [] (load_module) from [] (SyS_init_module+0xdc/0x150)
    [ 30.329223] [] (SyS_init_module) from [] (ret_fast_syscall+0x0/0x1c)

    Fixes: b209e047bc743 ("HSI: Introduce OMAP SSI driver")
    Signed-off-by: Roger Quadros
    Signed-off-by: Sebastian Reichel

    Roger Quadros
     

17 Jun, 2015

1 commit

  • These files are built off of a tristate Kconfig option and also contain
    modular function calls so they should explicitly include module.h to
    avoid compile breakage during header shuffles done in the future.

    We change the one header file wich gives us coverage on both files:
    drivers/hsi/controllers/omap_ssi.c
    drivers/hsi/controllers/omap_ssi_port.c

    Cc: Sebastian Reichel
    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     

16 Dec, 2014

1 commit


15 Dec, 2014

1 commit

  • Pull driver core update from Greg KH:
    "Here's the set of driver core patches for 3.19-rc1.

    They are dominated by the removal of the .owner field in platform
    drivers. They touch a lot of files, but they are "simple" changes,
    just removing a line in a structure.

    Other than that, a few minor driver core and debugfs changes. There
    are some ath9k patches coming in through this tree that have been
    acked by the wireless maintainers as they relied on the debugfs
    changes.

    Everything has been in linux-next for a while"

    * tag 'driver-core-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (324 commits)
    Revert "ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries"
    fs: debugfs: add forward declaration for struct device type
    firmware class: Deletion of an unnecessary check before the function call "vunmap"
    firmware loader: fix hung task warning dump
    devcoredump: provide a one-way disable function
    device: Add dev__once variants
    ath: ath9k: use debugfs_create_devm_seqfile() helper for seq_file entries
    ath: use seq_file api for ath9k debugfs files
    debugfs: add helper function to create device related seq_file
    drivers/base: cacheinfo: remove noisy error boot message
    Revert "core: platform: add warning if driver has no owner"
    drivers: base: support cpu cache information interface to userspace via sysfs
    drivers: base: add cpu_device_create to support per-cpu devices
    topology: replace custom attribute macros with standard DEVICE_ATTR*
    cpumask: factor out show_cpumap into separate helper function
    driver core: Fix unbalanced device reference in drivers_probe
    driver core: fix race with userland in device_add()
    sysfs/kernfs: make read requests on pre-alloc files use the buffer.
    sysfs/kernfs: allow attributes to request write buffer be pre-allocated.
    fs: sysfs: return EGBIG on write if offset is larger than file size
    ...

    Linus Torvalds
     

04 Dec, 2014

1 commit


20 Oct, 2014

2 commits


31 Jul, 2014

2 commits


18 Jul, 2014

1 commit

  • 1.

    [linux-3.16-rc5/drivers/hsi/controllers/omap_ssi.c:357]: (style) Checking if
    unsigned variable 'gdd_irq' is less than zero.

    Source code is

    omap_ssi->gdd_irq = platform_get_irq_byname(pd, "gdd_mpu");
    if (omap_ssi->gdd_irq < 0) {

    2.

    [linux-3.16-rc5/drivers/hsi/controllers/omap_ssi_port.c:1017]: (style) Checking
    if unsigned variable 'irq' is less than zero.

    Source code is

    omap_port->irq = platform_get_irq(pd, 0);
    if (omap_port->irq < 0) {

    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=80441
    Reported-by: David Binderman
    Signed-off-by: Andrey Utkin
    Signed-off-by: Sebastian Reichel

    Andrey Utkin
     

05 Jun, 2014

1 commit

  • The ref_module() function is used for internal housekeeping of the
    module code, it's not normally used by subsystems or device drivers,
    and the use of ref_module in the omap_ssi_port driver causes a link
    build error when modules are disabled:

    hsi/controllers/omap_ssi_port.c: In function 'ssi_port_probe':
    hsi/controllers/omap_ssi_port.c:1119:2: error: implicit declaration of function 'ref_module' [-Werror=implicit-function-declaration]

    This changes the omap_ssi_port driver to use try_module_get()
    and module_put() instead, which is the normal way to ensure that
    the driver providing a device used in another module does not
    go away.

    Signed-off-by: Arnd Bergmann
    Cc: Sebastian Reichel
    Cc: Carlos Chinea
    Cc: Ivaylo Dimitrov
    Signed-off-by: Sebastian Reichel

    Arnd Bergmann
     

16 May, 2014

1 commit

  • Add OMAP SSI driver to the HSI subsystem.

    The Synchronous Serial Interface (SSI) is a legacy version
    of HSI. As in the case of HSI, it is mainly used to connect
    Application engines (APE) with cellular modem engines (CMT)
    in cellular handsets.

    It provides a multichannel, full-duplex, multi-core communication
    with no reference clock. The OMAP SSI block is capable of reaching
    speeds of 110 Mbit/s.

    Signed-off-by: Carlos Chinea
    Signed-off-by: Sebastian Reichel
    Tested-By: Ivaylo Dimitrov

    Sebastian Reichel