<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/drivers/w1, branch v3.6.2</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v3.6.2</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v3.6.2'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2012-08-16T19:33:59Z</updated>
<entry>
<title>1-Wire: Add support for the maxim ds1825 temperature sensor</title>
<updated>2012-08-16T19:33:59Z</updated>
<author>
<name>Raphael Assenat</name>
<email>raph@8d.com</email>
</author>
<published>2012-08-16T16:56:40Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=f3261dfb5538e2ff0264fde3050dbd4e922fa296'/>
<id>urn:sha1:f3261dfb5538e2ff0264fde3050dbd4e922fa296</id>
<content type='text'>
This patch adds support for maxim ds1825 based 1-wire temperature sensors.

Signed-off-by: Raphael Assenat &lt;raph@8d.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Merge tag 'driver-core-3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core</title>
<updated>2012-07-26T18:25:33Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2012-07-26T18:25:33Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=fa93669a1917f93b09142d4b2298329b82d7d36d'/>
<id>urn:sha1:fa93669a1917f93b09142d4b2298329b82d7d36d</id>
<content type='text'>
Pull driver core changes from Greg Kroah-Hartman:
 "Here's the big driver core pull request for 3.6-rc1.

  Unlike 3.5, this kernel should be a lot tamer, with the printk changes
  now settled down.  All we have here is some extcon driver updates, w1
  driver updates, a few printk cleanups that weren't needed for 3.5, but
  are good to have now, and some other minor fixes/changes in the driver
  core.

  All of these have been in the linux-next releases for a while now.

  Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;"

* tag 'driver-core-3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (38 commits)
  printk: Export struct log size and member offsets through vmcoreinfo
  Drivers: hv: Change the hex constant to a decimal constant
  driver core: don't trigger uevent after failure
  extcon: MAX77693: Add extcon-max77693 driver to support Maxim MAX77693 MUIC device
  sysfs: fail dentry revalidation after namespace change fix
  sysfs: fail dentry revalidation after namespace change
  extcon: spelling of detach in function doc
  extcon: arizona: Stop microphone detection if we give up on it
  extcon: arizona: Update cable reporting calls and split headset
  PM / Runtime: Do not increment device usage counts before probing
  kmsg - do not flush partial lines when the console is busy
  kmsg - export "continuation record" flag to /dev/kmsg
  kmsg - avoid warning for CONFIG_PRINTK=n compilations
  kmsg - properly print over-long continuation lines
  driver-core: Use kobj_to_dev instead of re-implementing it
  driver-core: Move kobj_to_dev from genhd.h to device.h
  driver core: Move deferred devices to the end of dpm_list before probing
  driver core: move uevent call to driver_register
  driver core: fix shutdown races with probe/remove(v3)
  Extcon: Arizona: Add driver for Wolfson Arizona class devices
  ...
</content>
</entry>
<entry>
<title>W1: OMAP HDQ1W: use runtime PM</title>
<updated>2012-06-22T03:40:40Z</updated>
<author>
<name>Paul Walmsley</name>
<email>paul@pwsan.com</email>
</author>
<published>2012-06-22T03:40:40Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=c354a86484b61e32100eb94c1f3f0aa512958cee'/>
<id>urn:sha1:c354a86484b61e32100eb94c1f3f0aa512958cee</id>
<content type='text'>
Convert the OMAP HDQ driver to use runtime PM.  Compile- and boot-tested,
but not tested in actual use.

Signed-off-by: Paul Walmsley &lt;paul@pwsan.com&gt;
Cc: NeilBrown &lt;neilb@suse.de&gt;
Cc: Evgeniy Polyakov &lt;zbr@ioremap.net&gt;
Acked-by: Evgeniy Polyakov &lt;zbr@ioremap.net&gt;
Tested-by: NeilBrown &lt;neilb@suse.de&gt;
</content>
</entry>
<entry>
<title>W1: OMAP HDQ1W: use 32-bit register accesses</title>
<updated>2012-06-22T03:40:37Z</updated>
<author>
<name>Paul Walmsley</name>
<email>paul@pwsan.com</email>
</author>
<published>2012-06-22T03:40:37Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=2acd089471d93373e051c6b1f9f9e0d9e51a76bc'/>
<id>urn:sha1:2acd089471d93373e051c6b1f9f9e0d9e51a76bc</id>
<content type='text'>
HDQ/1-wire registers are 32 bits long, even if the register contents
fit into 8 bits, so accesses must be 32-bit aligned.  Evidently the
OMAP2/3 interconnects allowed the driver to get away with 8 bit accesses,
but the OMAP4 puts a stop to that:

[    1.488800] Driver for 1-wire Dallas network protocol.
[    1.495025] Bad mode in data abort handler detected
[    1.500122] Internal error: Oops - bad mode: 0 [#1] SMP
[    1.505615] Modules linked in:
[    1.508819] CPU: 0    Not tainted  (3.3.0-rc1-00008-g45030e9 #992)
[    1.515289] PC is at 0xffff0018
[    1.518615] LR is at omap_hdq_probe+0xd4/0x2cc

The OMAP4430 ES2 Rev X TRM does warn about this restriction in section
23.2.6.2 "HDQ/1-Wire Registers".

Fixes the crash on OMAP4430 ES2 Pandaboard.  Tested also on OMAP34xx and
OMAP2420; it seems to work fine on those chips, although due to the lack
of boards with HDQ/1-wire devices here, a more indepth test was not
possible.

Signed-off-by: Paul Walmsley &lt;paul@pwsan.com&gt;
Cc: NeilBrown &lt;neilb@suse.de&gt;
Cc: Evgeniy Polyakov &lt;zbr@ioremap.net&gt;
Acked-by: Evgeniy Polyakov &lt;zbr@ioremap.net&gt;
</content>
</entry>
<entry>
<title>W1: OMAP HDQ1W: allow driver to be built on all OMAP2+</title>
<updated>2012-06-22T03:40:37Z</updated>
<author>
<name>Paul Walmsley</name>
<email>paul@pwsan.com</email>
</author>
<published>2012-06-22T03:40:37Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=d660030061dd7e20ad18557368188d9c1002ec71'/>
<id>urn:sha1:d660030061dd7e20ad18557368188d9c1002ec71</id>
<content type='text'>
Allow the OMAP HDQ1W driver to be built for all OMAP2+ SoCs by
adjusting KConfig dependencies.  The previous dependency required
either SOC_OMAP2430 or ARCH_OMAP3 to be set, but the HDQ IP block is
present on OMAP2420 and OMAP44xx SoCs.  The driver was still
selectable on multi-OMAP kernel configurations, however; so the
previous prohibition was rather pointless.

Signed-off-by: Paul Walmsley &lt;paul@pwsan.com&gt;
Cc: Evgeniy Polyakov &lt;zbr@ioremap.net&gt;
Acked-by: Evgeniy Polyakov &lt;zbr@ioremap.net&gt;
</content>
</entry>
<entry>
<title>w1: Fix a typo in 'hardware' word</title>
<updated>2012-06-18T23:41:06Z</updated>
<author>
<name>Otavio Salvador</name>
<email>otavio@ossystems.com.br</email>
</author>
<published>2012-06-17T15:17:31Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=679012655acecfa807038ccf9237bba246f9fad8'/>
<id>urn:sha1:679012655acecfa807038ccf9237bba246f9fad8</id>
<content type='text'>
Signed-off-by: Otavio Salvador &lt;otavio@ossystems.com.br&gt;
Acked-by: Evgeniy Polyakov &lt;zbr@ioremap.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>w1: Add 1-wire slave device driver for DS28E04-100</title>
<updated>2012-06-13T23:47:10Z</updated>
<author>
<name>Markus Franke</name>
<email>franm@hrz.tu-chemnitz.de</email>
</author>
<published>2012-05-25T22:45:12Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=fbf7f7b4e2ae40f790828c86d31beff2d49e9ac8'/>
<id>urn:sha1:fbf7f7b4e2ae40f790828c86d31beff2d49e9ac8</id>
<content type='text'>
Signed-off-by: Markus Franke &lt;franm@hrz.tu-chemnitz.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>W1: split master mutex to avoid deadlocks.</title>
<updated>2012-06-13T23:38:40Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2012-05-18T05:59:52Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=b02f8bede217a4b145ecc16d3940c78d83941147'/>
<id>urn:sha1:b02f8bede217a4b145ecc16d3940c78d83941147</id>
<content type='text'>
The 'mutex' in struct w1_master is use for two very different
purposes.

Firstly it protects various data structures such as the list of all
slaves.

Secondly it protects the w1 buss against concurrent accesses.

This can lead to deadlocks when the -&gt;probe code called while adding a
slave needs to talk on the bus, as is the case for power_supply
devices.
ds2780 and ds2781 drivers contain a work around to track which
process hold the lock simply to avoid this deadlock.  bq27000 doesn't
have that work around and so deadlocks.

There are other possible deadlocks involving sysfs.
When removing a device the sysfs s_active lock is held, so the lock
that protects the slave list must take precedence over s_active.
However when access power_supply attributes via sysfs, the s_active
lock must take precedence over the lock that protects accesses to
the bus.

So to avoid deadlocks between w1 slaves and sysfs, these must be
two separate locks.  Making them separate means that the work around
in ds2780 and ds2781 can be removed.

So this patch:
 - adds a new mutex: "bus_mutex" which serialises access to the bus.
 - takes in mutex in w1_search and ds1wm_search while they access
   the bus for searching.  The mutex is dropped before calling the
   callback which adds the slave.
 - changes all slaves to use bus_mutex instead of mutex to
   protect access to the bus
 - removes w1_ds2790_io_nolock and w1_ds2781_io_nolock, and the
   related code from drivers/power/ds278[01]_battery.c which
   calls them.

Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
Acked-by: Evgeniy Polyakov &lt;zbr@ioremap.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>w1: omap_hdq: use wait_event_timeout to wait for read to complete.</title>
<updated>2012-06-13T23:37:04Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2012-05-21T23:43:02Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=b7e938d06d0de43bdbee8844a8736c81480c1031'/>
<id>urn:sha1:b7e938d06d0de43bdbee8844a8736c81480c1031</id>
<content type='text'>
There is no gain in having a loop - there is no risk of missing the
interrupt with wait_event_timeout.

Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
Acked-by: Evgeniy Polyakov &lt;zbr@ioremap.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>w1: omap_hdq: Fix some error/debug handling.</title>
<updated>2012-06-13T23:37:04Z</updated>
<author>
<name>NeilBrown</name>
<email>neilb@suse.de</email>
</author>
<published>2012-05-21T23:43:02Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=7b5362a603a1ecc9a25b97dafd702b8098090f41'/>
<id>urn:sha1:7b5362a603a1ecc9a25b97dafd702b8098090f41</id>
<content type='text'>
- some debug messages missed spaces
- sometimes no error was returned when it should have been
- sometimes a message is printed when there is no error, rather
  than when there is one.

Acked-by: Evgeniy Polyakov &lt;zbr@ioremap.net&gt;
Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
</feed>
