18 Oct, 2015

1 commit

  • Let's stop using legacy platform driver hooks for power management and
    switch to using the standard dev_pm_ops-based hooks.

    Also, instead of guarding PM methods with #ifdef CONFIG_PM annotate them
    as __maybe_unused as it provides better compile coverage.

    Signed-off-by: Dmitry Torokhov
    Signed-off-by: Greg Kroah-Hartman

    Dmitry Torokhov
     

05 Oct, 2015

2 commits

  • This patches makes following changes to omap_hdq driver
    - Enable 1-wire mode.
    - Implement w1_triplet callback to facilitate search rom
    procedure and auto detection of 1-wire slaves.
    - Proper enabling and disabling of interrupt.
    - Cleanups (formatting and return value checks).

    HDQ mode remains unchanged.

    Signed-off-by: Vignesh R
    Cc: Rob Herring
    Cc: Pawel Moll
    Cc: Mark Rutland
    Cc: Ian Campbell
    Cc: Kumar Gala
    Acked-by: Evgeniy Polyakov
    Cc: Jonathan Corbet
    CC: Tony Lindgren
    Cc: Vignesh R
    Cc: NeilBrown
    Cc: Fabian Frederick
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Vignesh R
     
  • Currently, memsetting and kfreeing the device is bad behaviour. The
    device will have a reference count of 1 and hence can cause trouble
    because it has kfree'd. Proper way to handle a failed device_register is
    to call put_device right after it fails.

    Signed-off-by: Levente Kurusa
    Acked-by: Evgeniy Polyakov
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Levente Kurusa
     

02 Sep, 2015

1 commit

  • Pull trivial tree updates from Jiri Kosina:
    "The usual stuff from trivial tree for 4.3 (kerneldoc updates, printk()
    fixes, Documentation and MAINTAINERS updates)"

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (28 commits)
    MAINTAINERS: update my e-mail address
    mod_devicetable: add space before */
    scsi: a100u2w: trivial typo in printk
    i2c: Fix typo in i2c-bfin-twi.c
    treewide: fix typos in comment blocks
    Doc: fix trivial typo in SubmittingPatches
    proportions: Spelling s/consitent/consistent/
    dm: Spelling s/consitent/consistent/
    aic7xxx: Fix typo in error message
    pcmcia: Fix typo in locking documentation
    scsi/arcmsr: Fix typos in error log
    drm/nouveau/gr: Fix typo in nv10.c
    [SCSI] Fix printk typos in drivers/scsi
    staging: comedi: Grammar s/Enable support a/Enable support for a/
    Btrfs: Spelling s/consitent/consistent/
    README: GTK+ is a acronym
    ASoC: omap: Fix typo in config option description
    mm: tlb.c: Fix error message
    ntfs: super.c: Fix error log
    fix typo in Documentation/SubmittingPatches
    ...

    Linus Torvalds
     

07 Aug, 2015

1 commit


06 Aug, 2015

2 commits

  • Use module_pci_driver for drivers whose init and exit functions
    only register and unregister, respectively.

    A simplified version of the Coccinelle semantic patch that performs
    this transformation is as follows:

    @a@
    identifier f, x;
    @@
    -static f(...) { return pci_register_driver(&x); }

    @b depends on a@
    identifier e, a.x;
    @@
    -static e(...) { pci_unregister_driver(&x); }

    @c depends on a && b@
    identifier a.f;
    declarer name module_init;
    @@
    -module_init(f);

    @d depends on a && b && c@
    identifier b.e, a.x;
    declarer name module_exit;
    declarer name module_pci_driver;
    @@
    -module_exit(e);
    +module_pci_driver(x);

    Signed-off-by: Vaishali Thakkar
    Acked-by: Evgeniy Polyakov
    Signed-off-by: Greg Kroah-Hartman

    Vaishali Thakkar
     
  • i2c_driver does not need to set an owner because i2c_register_driver()
    will set it.

    Signed-off-by: Krzysztof Kozlowski
    Acked-by: Evgeniy Polyakov
    Signed-off-by: Greg Kroah-Hartman

    Krzysztof Kozlowski
     

13 Jun, 2015

2 commits

  • I noticed there was a problem here because Smatch complained:

    drivers/w1/slaves/w1_therm.c:416 w1_seq_show() warn:
    inconsistent returns 'mutex:&sl->master->mutex'.
    Locked on: line 416
    Unlocked on: line 413

    The problem is that we lock ->mutex but we unlock ->bus_mutex on error.
    David Fries says that ->bus_mutex is correct and ->mutex is incorrect.

    Fixes: d9411e57dc7f ('w1: Add support for DS28EA00 sequence to w1-therm')
    Signed-off-by: Dan Carpenter
    Acked-by: Evgeniy Polyakov
    Signed-off-by: Greg Kroah-Hartman

    Dan Carpenter
     
  • The W1_42_FINISHED_BYTE is 0xFF so the cast means the condition is
    never true.

    Fixes: d9411e57dc7f ('w1: Add support for DS28EA00 sequence to w1-therm')
    Signed-off-by: Dan Carpenter
    Signed-off-by: Greg Kroah-Hartman

    Dan Carpenter
     

01 Jun, 2015

1 commit


25 May, 2015

3 commits

  • This patch provides support for the DS28EA00 digital thermometer.

    The DS28EA00 provides an additional two pins for implementing a sequence
    detection algorithm. This feature allows you to determine the physical
    location of the chip in the 1-wire bus without needing pre-existing
    knowledge of the bus ordering. Support is provided through the sysfs
    w1_seq file. The file will contain a single line with an integer value
    representing the device index in the bus starting at 0.

    Signed-off-by: Matt Campbell
    Acked-by: Evgeniy Polyakov
    Signed-off-by: Greg Kroah-Hartman

    Matt Campbell
     
  • A temperature conversion can take 750 ms and when possible the
    w1_therm slave driver drops the bus_mutex to allow other bus
    operations, but that includes operations such as a periodic slave
    search, which can remove this slave when it is no longer detected.
    If that happens the sl->family_data will be freed and set to NULL
    causing w1_slave_show to crash when it wakes up.

    Signed-off-by: David Fries
    Reported-By: Thorsten Bschorr
    Tested-by: Thorsten Bschorr
    Acked-by: Evgeniy Polyakov
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    David Fries
     
  • Some of 1-Wire devices commonly associated with physical access control
    systems are attached/generate presence for as short as 100 ms - hence
    the tens-to-hundreds milliseconds scan intervals are required.

    Signed-off-by: Dmitry Khromov
    Acked-by: Evgeniy Polyakov
    Signed-off-by: Greg Kroah-Hartman

    Dmitry Khromov
     

25 Mar, 2015

1 commit


15 Dec, 2014

2 commits

  • Pull char/misc driver updates from Greg KH:
    "Here's the big char/misc driver update for 3.19-rc1

    Lots of little things all over the place in different drivers, and a
    new subsystem, "coresight" has been added. Full details are in the
    shortlog"

    * tag 'char-misc-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (73 commits)
    parport: parport_pc, do not remove parent devices early
    spmi: Remove shutdown/suspend/resume kernel-doc
    carma-fpga-program: drop videobuf dependency
    carma-fpga: drop videobuf dependency
    carma-fpga-program.c: fix compile errors
    i8k: Fix temperature bug handling in i8k_get_temp()
    cxl: Name interrupts in /proc/interrupt
    CXL: Return error to PSL if IRQ demultiplexing fails & print clearer warning
    coresight-replicator: remove .owner field for driver
    coresight: fixed comments in coresight.h
    coresight: fix typo in comment in coresight-priv.h
    coresight: bindings for coresight drivers
    coresight: Adding ABI documentation
    w1: support auto-load of w1_bq27000 module.
    w1: avoid potential u16 overflow
    cn: verify msg->len before making callback
    mei: export fw status registers through sysfs
    mei: read and print all six FW status registers
    mei: txe: add cherrytrail device id
    mei: kill cached host and me csr values
    ...

    Linus Torvalds
     
  • 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
     

27 Nov, 2014

2 commits

  • 1/ change request_module call to zero-pad single digit
    family numbers. This appears to be the intention of
    the code, but not what it actually does.

    This means that the alias created for W1_FAMILY_SMEM_01
    might actually be useful.

    2/ Define a family name for the BQ27000 battery charge monitor.
    Unfortunately this is the same number as W1_FAMILY_SMEM_01
    so if both a compiled on a system, one module might need to
    be blacklisted.

    3/ Add a MODULE_ALIAS for the bq27000.

    Acked-by: Evgeniy Polyakov
    Signed-off-by: NeilBrown
    Signed-off-by: Greg Kroah-Hartman

    NeilBrown
     
  • Reported-by: Dan Carpenter
    Acked-by: Evgeniy Polyakov
    Signed-off-by: David Fries
    Signed-off-by: Greg Kroah-Hartman

    David Fries
     

11 Nov, 2014

1 commit


08 Nov, 2014

1 commit

  • Adjust the bulk message timeout to the other ones (1000ms). Otherwise the
    following dmesg errors can be seen on a Raspberry Pi:
    [ 31.492386] Failed to read 1-wire data from 0x81: err=-110.
    [ 31.504168] 0x81: count=-110, status:
    [ 31.613404] Failed to read 1-wire data from 0x81: err=-110.
    [ 31.621915] 0x81: count=-110, status:
    [ 43.260968] Failed to read 1-wire data from 0x81: err=-110.
    [ 43.270998] 0x81: count=-110, status:
    [ 43.379959] Failed to read 1-wire data from 0x81: err=-110.
    [ 43.388854] 0x81: count=-110, status:

    Signed-off-by: Alexander Stein
    Acked-by: Evgeniy Polyakov
    Signed-off-by: Greg Kroah-Hartman

    Alexander Stein
     

20 Oct, 2014

1 commit


24 Jun, 2014

1 commit

  • commit 94859308a21b "w1: new w1_ds2406 driver" added a new driver
    that uses the crc16 library, but didn't ensure that the core is
    there. This adds the necessary Kconfig statements, just like we
    have it for other w1 drivers.

    Reported-by: kbuild test robot
    Signed-off-by: Arnd Bergmann
    Acked-by: Scott Alfter
    Cc: Evgeniy Polyakov
    Signed-off-by: Greg Kroah-Hartman

    Arnd Bergmann
     

20 Jun, 2014

9 commits

  • This patch replaces all calls to the "printk" function within the "masters"
    subdirectory by calls to the appropriate "pr_*" function thus addressing
    the following warning generated by the checkpatch script:

    WARNING: Prefer [subsystem eg: netdev]_err([subsystem]dev, ...
    then dev_err(dev, ... then pr_err(... to printk(KERN_ERR ...

    Signed-off-by: Fjodor Schelichow
    Signed-off-by: Roman Sommer
    Acked-by: Evgeniy Polyakov
    Signed-off-by: Greg Kroah-Hartman

    Fjodor Schelichow
     
  • This patch replaces all calls to the "printk" function within the main "w1"
    directory by calls to the appropriate "pr_*" function thus addressing
    the following warning generated by the checkpatch script:

    WARNING: Prefer [subsystem eg: netdev]_err([subsystem]dev, ...
    then dev_err(dev, ... then pr_err(... to printk(KERN_ERR ...

    Signed-off-by: Fjodor Schelichow
    Signed-off-by: Roman Sommer
    Acked-by: Evgeniy Polyakov
    Signed-off-by: Greg Kroah-Hartman

    Fjodor Schelichow
     
  • This patch replaces all calls to the "printk" function within the "slaves"
    subdirectory by calls to the appropriate "pr_*" function thus addressing
    the following warning generated by the checkpatch script:

    WARNING: Prefer [subsystem eg: netdev]_err([subsystem]dev, ...
    then dev_err(dev, ... then pr_err(... to printk(KERN_ERR ...

    Signed-off-by: Fjodor Schelichow
    Signed-off-by: Roman Sommer
    Acked-by: Evgeniy Polyakov
    Signed-off-by: Greg Kroah-Hartman

    Fjodor Schelichow
     
  • Some preliminary work at making use of this driver led me to implement
    CRC-16 checks on read and write to deal with the occasional glitchiness of
    the 1-Wire bus. The revised driver (attached) returns an I/O error if the
    CRC check fails. When reading the chip's state, either you get a valid
    indication or you get an I/O error. When changing its state, either the
    change is successful or an I/O error is returned.

    Signed-off-by: Scott Alfter
    Acked-by: Evgeniy Polyakov
    Signed-off-by: Greg Kroah-Hartman

    Scott Alfter
     
  • Replace spaces at beginning of the string with tabs, and replace foo * bar with foo *bar in a pointer declaration.

    Signed-off-by: Thomas Wood
    Acked-by: Evgeniy Polyakov
    Signed-off-by: Greg Kroah-Hartman

    Thomas Wood
     
  • According to the i.MX reference manual, the read/write bit operations
    takes from 60 us to 120 us.
    This patch optimizes mxc_w1_ds2_touch_bit() function to use proper
    value for such delay. Nevertheless, a small margin for the timeout has
    been added for the case if clock frequency is inaccurate.

    Signed-off-by: Alexander Shiyan
    Signed-off-by: Greg Kroah-Hartman

    Alexander Shiyan
     
  • This patch adds a software reset for 1-Wire module at driver startup.

    Signed-off-by: Alexander Shiyan
    Signed-off-by: Greg Kroah-Hartman

    Alexander Shiyan
     
  • According to the i.MX reference manual, the reset procedure and
    "presence" pulse takes 511 and 512 us, respectively. Measurement for
    i.MX27 is about 1100 us. There is no need to wait Reset+Presence
    more than this time.
    This patch optimizes mxc_w1_ds2_reset_bus() function to use proper
    value for delay after w1 bus reset. Nevertheless, a small margin for
    the timeout has been added for the case if clock frequency is inaccurate.

    Signed-off-by: Alexander Shiyan
    Signed-off-by: Greg Kroah-Hartman

    Alexander Shiyan
     
  • W1 reset_bus() should return zero if slave device is present.
    This patch fix this issue.

    Signed-off-by: Alexander Shiyan
    Signed-off-by: Greg Kroah-Hartman

    Alexander Shiyan
     

04 Jun, 2014

1 commit

  • …el/git/tip/tip into next

    Pull core locking updates from Ingo Molnar:
    "The main changes in this cycle were:

    - reduced/streamlined smp_mb__*() interface that allows more usecases
    and makes the existing ones less buggy, especially in rarer
    architectures

    - add rwsem implementation comments

    - bump up lockdep limits"

    * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (33 commits)
    rwsem: Add comments to explain the meaning of the rwsem's count field
    lockdep: Increase static allocations
    arch: Mass conversion of smp_mb__*()
    arch,doc: Convert smp_mb__*()
    arch,xtensa: Convert smp_mb__*()
    arch,x86: Convert smp_mb__*()
    arch,tile: Convert smp_mb__*()
    arch,sparc: Convert smp_mb__*()
    arch,sh: Convert smp_mb__*()
    arch,score: Convert smp_mb__*()
    arch,s390: Convert smp_mb__*()
    arch,powerpc: Convert smp_mb__*()
    arch,parisc: Convert smp_mb__*()
    arch,openrisc: Convert smp_mb__*()
    arch,mn10300: Convert smp_mb__*()
    arch,mips: Convert smp_mb__*()
    arch,metag: Convert smp_mb__*()
    arch,m68k: Convert smp_mb__*()
    arch,m32r: Convert smp_mb__*()
    arch,ia64: Convert smp_mb__*()
    ...

    Linus Torvalds
     

28 May, 2014

2 commits

  • w1_process_callbacks() expects to be called with dev->list_mutex held,
    but it is the fact only in w1_process(). __w1_remove_master_device()
    calls w1_process_callbacks() after it releases list_mutex.

    The patch fixes __w1_remove_master_device() to acquire list_mutex
    for w1_process_callbacks().

    Found by Linux Driver Verification project (linuxtesting.org).

    Signed-off-by: Alexey Khoroshilov
    Acked-by: David Fries
    Acked-by: Evgeniy Polyakov
    Cc: stable # 3.15
    Signed-off-by: Greg Kroah-Hartman

    Alexey Khoroshilov
     
  • Applications can submit a set of commands in one packet to the kernel,
    and in some cases it is required such as reading the temperature
    sensor results. This adds an option W1_CN_BUNDLE to the flags of
    cn_msg to request the kernel to reply in one packet for efficiency.

    The cn_msg flags now check for unknown flag values and return an error
    if one is seen. See "Proper handling of unknown flags in system
    calls" http://lwn.net/Articles/588444/

    This corrects the ack values returned as per the protocol standard,
    namely the original ack for status messages and seq + 1 for all others
    such as the data returned from a read.

    Some of the common variable names have been standardized as follows.
    struct cn_msg *cn
    struct w1_netlink_msg *msg
    struct w1_netlink_cmd *cmd
    struct w1_master *dev

    When an argument and a function scope variable would collide, add req_
    to the argument.

    Signed-off-by: David Fries
    Acked-by: Evgeniy Polyakov
    Signed-off-by: Greg Kroah-Hartman

    David Fries
     

18 Apr, 2014

1 commit

  • Mostly scripted conversion of the smp_mb__* barriers.

    Signed-off-by: Peter Zijlstra
    Acked-by: Paul E. McKenney
    Link: http://lkml.kernel.org/n/tip-55dhyhocezdw1dg7u19hmh1u@git.kernel.org
    Cc: Linus Torvalds
    Cc: linux-arch@vger.kernel.org
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     

17 Apr, 2014

2 commits

  • __w1_attach_slave_device calls device_add which calls w1_bus_notify
    which calls the w1_bq27000 slave driver, which calls
    platform_device_add and device_add and deadlocks on getting
    &(&priv->bus_notifier)->rwsem as it is still held in the previous
    device_add. This avoids the problem by processing the family
    add/remove outside of the slave device_add call.

    Commit 47eba33a0997fc7362a introduced this deadlock and added
    a KOBJ_ADD, as the add was already reported in device_register two add
    events were being sent. This change suppresses the device_register
    add so that any slave device sysfs entries are setup before the add
    goes out.

    Belisko Marek reported this change fixed the deadlock he was seeing on
    ARM device tree, while testing on my x86-64 system never saw the
    deadlock.

    Reported-by: Belisko Marek
    Signed-off-by: David Fries
    Signed-off-by: Greg Kroah-Hartman

    David Fries
     
  • If the message type is W1_MASTER_CMD or W1_SLAVE_CMD, then a reference
    is taken when searching for the slave or master device. If there
    isn't any following data m->len (mlen is a copy) is 0 and packing up
    the message for later execution is skipped leaving nothing to
    decrement the reference counts.

    Way back when, m->len was checked before the search that increments the
    reference count, but W1_LIST_MASTERS has no additional data, the check
    was moved in 9be62e0b2fadaf5ff causing this bug.

    This change reorders to put the check before the reference count is
    incremented avoiding the problem.

    Signed-off-by: David Fries
    Acked-by: Evgeniy Polyakov
    Signed-off-by: Greg Kroah-Hartman

    David Fries
     

01 Mar, 2014

3 commits