<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/regulator/max8997.c, branch linux-3.6.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.6.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.6.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2012-07-15T20:49:53Z</updated>
<entry>
<title>regulator: max8997: Properly handle gpio_request failure</title>
<updated>2012-07-15T20:49:53Z</updated>
<author>
<name>Axel Lin</name>
</author>
<published>2012-07-05T15:06:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8fa25eda86b1a149fd19b5ce80d8cf7b6c8fb566'/>
<id>urn:sha1:8fa25eda86b1a149fd19b5ce80d8cf7b6c8fb566</id>
<content type='text'>
Convert to devm_gpio_request to save a few error handling code.

This patch properly handle the gpio_request failure with -EBUSY, we should
return error rather than ommit the gpio_request failure with -EBUSY.

I think one of the reason we got -EBUSY is because current code does not free
gpios in max8997_pmic_remove(). So it got -EBUSY when reload the module.

Yest another reason is in current code if gpio_request() returns -EBUSY,
the rest of the code still calls gpio_direction_output to config buck125_gpios
and set gpio value in max8997_set_gpio().  This looks wrong to me.

Signed-off-by: Axel Lin &lt;axel.lin@gmail.com&gt;
Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'regulator-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator</title>
<updated>2012-05-21T23:49:16Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2012-05-21T23:49:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ac1806572df55b6125ad9d117906820dacfa3145'/>
<id>urn:sha1:ac1806572df55b6125ad9d117906820dacfa3145</id>
<content type='text'>
Pull regulator updates from Mark Brown:
 "The major thing here is the addition of some helpers to factor code
  out of drivers, making a fair proportion of regulators much more just
  data rather than code which is nice.

  - Helpers in the core for regulators using regmap, providing generic
    implementations of the enable and voltage selection operations which
    just need data to describe them in the drivers.
  - Split out voltage mapping and voltage setting, allowing many more
    drivers to take advantage of the infrastructure for selectors.
  - Loads and loads of cleanups from Axel Lin once again, including many
    changes to take advantage of the above new framework features
  - New drivers for Ricoh RC5T583, TI TPS62362, TI TPS62363, TI
    TPS65913, TI TWL6035 and TI TWL6037.

  Some of the registration changes to support the core refactoring
  caused so many conflicts that eventually topic branches were abandoned
  for this release."

* tag 'regulator-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (227 commits)
  regulator: tps65910: use of_node of matched regulator being register
  regulator: tps65910: dt: support when "regulators" node found
  regulator: tps65910: add error message in case of failure
  regulator: tps62360: dt: initialize of_node param for regulator register.
  regulator: tps65910: use devm_* for memory allocation
  regulator: tps65910: use small letter for regulator names
  mfd: tpx6586x:  Depend on regulator
  regulator: regulator for Palmas Kconfig
  regulator: regulator driver for Palmas series chips
  regulator: Enable Device Tree for the db8500-prcmu regulator driver
  regulator: db8500-prcmu: Separate regulator registration from probe
  regulator: ab3100: Use regulator_map_voltage_iterate()
  regulator: tps65217: Convert to set_voltage_sel and map_voltage
  regulator: Enable the ab8500 for Device Tree
  regulator: ab8500: Split up probe() into manageable pieces
  regulator: max8925: Remove check_range function and max_uV from struct rc5t583_regulator_info
  regulator: max8649: Remove unused check_range() function
  regulator: rc5t583: Remove max_uV from struct rc5t583_regulator_info
  regulator: da9052: Convert to set_voltage_sel and map_voltage
  regulator: max8952: Use devm_kzalloc
  ...
</content>
</entry>
<entry>
<title>regulator: max8997: Convert ot use devm_kzalloc</title>
<updated>2012-04-23T12:20:26Z</updated>
<author>
<name>Axel Lin</name>
</author>
<published>2012-04-19T01:44:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8ae5767ba1c4e149ee9970aa7a4e9bf6b251bb77'/>
<id>urn:sha1:8ae5767ba1c4e149ee9970aa7a4e9bf6b251bb77</id>
<content type='text'>
Also simplify the error handling to start unwind from the place
regulator_register fails.

No need to check rdev[i] is NULL or not before calling regulator_unregister.
regulator_unregister is safe if rdev is NULL,

Signed-off-by: Axel Lin &lt;axel.lin@gmail.com&gt;
Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
</content>
</entry>
<entry>
<title>regulator: Remove unneeded include of linux/delay.h from regulator drivers</title>
<updated>2012-04-23T12:20:26Z</updated>
<author>
<name>Axel Lin</name>
</author>
<published>2012-04-18T00:52:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6c9eeb0f5cac0d9fd05c138f1eec86a7f70630ce'/>
<id>urn:sha1:6c9eeb0f5cac0d9fd05c138f1eec86a7f70630ce</id>
<content type='text'>
All the drivers that need delay for the regulator voltage output voltage to
stabilize after being enabled or after being set to a new value has been
converted to implement enable_time and set_voltage_time_sel callbacks.
Then regulator core will take care of the necessary delay.

For the drivers that don't need the delay, don't need to include linux/delay.h.
This patch removes the unneeded include of linux/delay.h in regulator drivers.

Signed-off-by: Axel Lin &lt;axel.lin@gmail.com&gt;
Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
</content>
</entry>
<entry>
<title>regulator: max8997: Remove empty set_suspend_enable callback implementation</title>
<updated>2012-04-23T12:20:25Z</updated>
<author>
<name>Axel Lin</name>
</author>
<published>2012-04-17T15:49:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=23b7d09a3f50191a72ca70708a541b05e422e388'/>
<id>urn:sha1:23b7d09a3f50191a72ca70708a541b05e422e388</id>
<content type='text'>
Since commit 8ac0e95 "regulator: core: Support setting suspend_[mode|voltage]
if set_suspend_[en|dis]able is NULL", now the regulator core can properly
handle the case set_suspend_enable callback is NULL.

Signed-off-by: Axel Lin &lt;axel.lin@gmail.com&gt;
Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
</content>
</entry>
<entry>
<title>regulator: max8997: Remove is_enabled callback implementation for max8997_charger_fixedstate_ops</title>
<updated>2012-04-23T12:20:24Z</updated>
<author>
<name>Axel Lin</name>
</author>
<published>2012-04-17T15:48:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c245c087c50eabe284b22f7d5a8abc12427d29a7'/>
<id>urn:sha1:c245c087c50eabe284b22f7d5a8abc12427d29a7</id>
<content type='text'>
If is_enabled callback is not implemented, the core assumes that the regulator
is on.

This is simpler than having a hack to retrun 1 in max8997_reg_is_enabled() if
max8997_get_enable_register() returns -EINVAL.

Signed-off-by: Axel Lin &lt;axel.lin@gmail.com&gt;
Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
</content>
</entry>
<entry>
<title>regulator: Convert max8997 to set_voltage_time_sel</title>
<updated>2012-04-17T14:25:10Z</updated>
<author>
<name>Axel Lin</name>
</author>
<published>2012-04-11T14:58:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=62bc4d4a702654cf5aefbb32c766991fb45bf15a'/>
<id>urn:sha1:62bc4d4a702654cf5aefbb32c766991fb45bf15a</id>
<content type='text'>
Signed-off-by: Axel Lin &lt;axel.lin@gmail.com&gt;
Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
</content>
</entry>
<entry>
<title>regulator: Convert max8997 to get_voltage_sel</title>
<updated>2012-04-17T14:25:10Z</updated>
<author>
<name>Axel Lin</name>
</author>
<published>2012-04-11T14:56:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9e96b3a7ade72cb66b95f2ad3c849bab702ed87b'/>
<id>urn:sha1:9e96b3a7ade72cb66b95f2ad3c849bab702ed87b</id>
<content type='text'>
Also rename get_current_limit and set_current_limit callbacks
to max8997_get_current_limit and max8997_set_current_limit for
better readability.

Signed-off-by: Axel Lin &lt;axel.lin@gmail.com&gt;
Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
</content>
</entry>
<entry>
<title>regulator: Fix the logic to ensure new voltage setting in valid range</title>
<updated>2012-04-17T14:17:11Z</updated>
<author>
<name>Axel Lin</name>
</author>
<published>2012-04-11T12:53:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f55205f4d4a8823a11bb8b37ef2ecbd78fb09463'/>
<id>urn:sha1:f55205f4d4a8823a11bb8b37ef2ecbd78fb09463</id>
<content type='text'>
I think this is a typo.
To ensure new voltage setting won't greater than desc-&gt;max,
the equation should be desc-&gt;min + desc-&gt;step * new_val &lt;= desc-&gt;max.

Signed-off-by: Axel Lin &lt;axel.lin@gmail.com&gt;
Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
Cc: stable@vger.kernel.org
</content>
</entry>
<entry>
<title>regulator: max8997: Use simple equation to get selector</title>
<updated>2012-04-10T09:14:01Z</updated>
<author>
<name>Axel Lin</name>
</author>
<published>2012-04-10T06:20:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2358b7763ee6673c0d08ddf9dcfe96e982e9b26f'/>
<id>urn:sha1:2358b7763ee6673c0d08ddf9dcfe96e982e9b26f</id>
<content type='text'>
It's more efficient to get the best selector by simple equation.

Signed-off-by: Axel Lin &lt;axel.lin@gmail.com&gt;
Signed-off-by: Mark Brown &lt;broonie@opensource.wolfsonmicro.com&gt;
</content>
</entry>
</feed>
