linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: thierry.reding@gmail.com (Thierry Reding)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/2] Restructure driver/power and add Tegra PMC driver
Date: Mon,  7 Jul 2014 16:16:48 +0200	[thread overview]
Message-ID: <1404742610-4951-1-git-send-email-thierry.reding@gmail.com> (raw)

From: Thierry Reding <treding@nvidia.com>

Hi,

I recently posted a series of patches to move some drivers out of arch/arm so
that they can be shared between 64-bit and 32-bit SoCs. People objected quite
strongly, asking me to find better homes for the drivers than drivers/soc.

This is my attempt to do that for the Tegra PMC (Power-Management Controller)
which provides, among other things, control over power partitions on the SoC.
It does not contain battery charging logic or indeed anything supply-related,
but people thought that drivers/power was still the best fit (see also the
code in drivers/power/avs).

However, simply putting the driver in that directory would imply a dependency
on the power-supply class, because drivers/power is only descended into when
POWER_SUPPLY is selected. Given how the PMC isn't a power supply driver at
all that didn't seem like the right thing to do, so this became a two-patch
series.

Patch 1 move all current power-supply drivers into a drivers/power/supply
subdirectory, thereby making drivers/power available as a new home for
miscellaneous power-management or -control related drivers.

Finally patch 2 moves out the PMC related code from arch/arm/mach-tegra into
the drivers/power directory.

I would very much appreciate comments on this approach, especially from the
power-supply maintainers, since this effectively makes them the maintainers
of this new type of driver as well, and that may after all not be something
that they signed up to.

Thanks,
Thierry

Thierry Reding (2):
  power: Move power-supply drivers to subdirectory
  ARM: tegra: Convert PMC to a driver

 arch/arm/mach-tegra/Makefile                      |   2 -
 arch/arm/mach-tegra/board.h                       |   7 -
 arch/arm/mach-tegra/platsmp.c                     |   1 -
 arch/arm/mach-tegra/pm.c                          |  30 +-
 arch/arm/mach-tegra/pm.h                          |  10 +-
 arch/arm/mach-tegra/pmc.c                         | 402 ---------
 arch/arm/mach-tegra/pmc.h                         |  62 --
 arch/arm/mach-tegra/powergate.c                   | 503 ------------
 arch/arm/mach-tegra/tegra.c                       |   6 -
 drivers/Makefile                                  |   2 +-
 drivers/power/Kconfig                             | 395 +--------
 drivers/power/Makefile                            |  63 +-
 drivers/power/{ => supply}/88pm860x_battery.c     |   0
 drivers/power/{ => supply}/88pm860x_charger.c     |   0
 drivers/power/supply/Kconfig                      | 392 +++++++++
 drivers/power/supply/Makefile                     |  58 ++
 drivers/power/{ => supply}/ab8500_bmdata.c        |   0
 drivers/power/{ => supply}/ab8500_btemp.c         |   0
 drivers/power/{ => supply}/ab8500_charger.c       |   0
 drivers/power/{ => supply}/ab8500_fg.c            |   0
 drivers/power/{ => supply}/abx500_chargalg.c      |   0
 drivers/power/{ => supply}/apm_power.c            |   0
 drivers/power/{ => supply}/bq2415x_charger.c      |   0
 drivers/power/{ => supply}/bq24190_charger.c      |   0
 drivers/power/{ => supply}/bq24735-charger.c      |   0
 drivers/power/{ => supply}/bq27x00_battery.c      |   0
 drivers/power/{ => supply}/collie_battery.c       |   0
 drivers/power/{ => supply}/da9030_battery.c       |   0
 drivers/power/{ => supply}/da9052-battery.c       |   0
 drivers/power/{ => supply}/ds2760_battery.c       |   0
 drivers/power/{ => supply}/ds2780_battery.c       |   0
 drivers/power/{ => supply}/ds2781_battery.c       |   0
 drivers/power/{ => supply}/ds2782_battery.c       |   0
 drivers/power/{ => supply}/generic-adc-battery.c  |   0
 drivers/power/{ => supply}/goldfish_battery.c     |   0
 drivers/power/{ => supply}/gpio-charger.c         |   0
 drivers/power/{ => supply}/intel_mid_battery.c    |   0
 drivers/power/{ => supply}/isp1704_charger.c      |   0
 drivers/power/{ => supply}/jz4740-battery.c       |   0
 drivers/power/{ => supply}/lp8727_charger.c       |   0
 drivers/power/{ => supply}/lp8788-charger.c       |   0
 drivers/power/{ => supply}/max14577_charger.c     |   0
 drivers/power/{ => supply}/max17040_battery.c     |   0
 drivers/power/{ => supply}/max17042_battery.c     |   0
 drivers/power/{ => supply}/max8903_charger.c      |   0
 drivers/power/{ => supply}/max8925_power.c        |   0
 drivers/power/{ => supply}/max8997_charger.c      |   0
 drivers/power/{ => supply}/max8998_charger.c      |   0
 drivers/power/{ => supply}/olpc_battery.c         |   0
 drivers/power/{ => supply}/pcf50633-charger.c     |   0
 drivers/power/{ => supply}/pda_power.c            |   0
 drivers/power/{ => supply}/pm2301_charger.c       |   0
 drivers/power/{ => supply}/pm2301_charger.h       |   0
 drivers/power/{ => supply}/pmu_battery.c          |   0
 drivers/power/{ => supply}/power_supply.h         |   0
 drivers/power/{ => supply}/power_supply_core.c    |   0
 drivers/power/{ => supply}/power_supply_leds.c    |   0
 drivers/power/{ => supply}/power_supply_sysfs.c   |   0
 drivers/power/{ => supply}/rx51_battery.c         |   0
 drivers/power/{ => supply}/s3c_adc_battery.c      |   0
 drivers/power/{ => supply}/sbs-battery.c          |   0
 drivers/power/{ => supply}/smb347-charger.c       |   0
 drivers/power/{ => supply}/test_power.c           |   0
 drivers/power/{ => supply}/tosa_battery.c         |   0
 drivers/power/{ => supply}/tps65090-charger.c     |   0
 drivers/power/{ => supply}/twl4030_charger.c      |   0
 drivers/power/{ => supply}/twl4030_madc_battery.c |   0
 drivers/power/{ => supply}/wm831x_backup.c        |   0
 drivers/power/{ => supply}/wm831x_power.c         |   0
 drivers/power/{ => supply}/wm8350_power.c         |   0
 drivers/power/{ => supply}/wm97xx_battery.c       |   0
 drivers/power/{ => supply}/z2_battery.c           |   0
 drivers/power/tegra-pmc.c                         | 948 ++++++++++++++++++++++
 include/linux/tegra-soc.h                         |  46 ++
 74 files changed, 1473 insertions(+), 1454 deletions(-)
 delete mode 100644 arch/arm/mach-tegra/pmc.c
 delete mode 100644 arch/arm/mach-tegra/pmc.h
 delete mode 100644 arch/arm/mach-tegra/powergate.c
 rename drivers/power/{ => supply}/88pm860x_battery.c (100%)
 rename drivers/power/{ => supply}/88pm860x_charger.c (100%)
 create mode 100644 drivers/power/supply/Kconfig
 create mode 100644 drivers/power/supply/Makefile
 rename drivers/power/{ => supply}/ab8500_bmdata.c (100%)
 rename drivers/power/{ => supply}/ab8500_btemp.c (100%)
 rename drivers/power/{ => supply}/ab8500_charger.c (100%)
 rename drivers/power/{ => supply}/ab8500_fg.c (100%)
 rename drivers/power/{ => supply}/abx500_chargalg.c (100%)
 rename drivers/power/{ => supply}/apm_power.c (100%)
 rename drivers/power/{ => supply}/bq2415x_charger.c (100%)
 rename drivers/power/{ => supply}/bq24190_charger.c (100%)
 rename drivers/power/{ => supply}/bq24735-charger.c (100%)
 rename drivers/power/{ => supply}/bq27x00_battery.c (100%)
 rename drivers/power/{ => supply}/collie_battery.c (100%)
 rename drivers/power/{ => supply}/da9030_battery.c (100%)
 rename drivers/power/{ => supply}/da9052-battery.c (100%)
 rename drivers/power/{ => supply}/ds2760_battery.c (100%)
 rename drivers/power/{ => supply}/ds2780_battery.c (100%)
 rename drivers/power/{ => supply}/ds2781_battery.c (100%)
 rename drivers/power/{ => supply}/ds2782_battery.c (100%)
 rename drivers/power/{ => supply}/generic-adc-battery.c (100%)
 rename drivers/power/{ => supply}/goldfish_battery.c (100%)
 rename drivers/power/{ => supply}/gpio-charger.c (100%)
 rename drivers/power/{ => supply}/intel_mid_battery.c (100%)
 rename drivers/power/{ => supply}/isp1704_charger.c (100%)
 rename drivers/power/{ => supply}/jz4740-battery.c (100%)
 rename drivers/power/{ => supply}/lp8727_charger.c (100%)
 rename drivers/power/{ => supply}/lp8788-charger.c (100%)
 rename drivers/power/{ => supply}/max14577_charger.c (100%)
 rename drivers/power/{ => supply}/max17040_battery.c (100%)
 rename drivers/power/{ => supply}/max17042_battery.c (100%)
 rename drivers/power/{ => supply}/max8903_charger.c (100%)
 rename drivers/power/{ => supply}/max8925_power.c (100%)
 rename drivers/power/{ => supply}/max8997_charger.c (100%)
 rename drivers/power/{ => supply}/max8998_charger.c (100%)
 rename drivers/power/{ => supply}/olpc_battery.c (100%)
 rename drivers/power/{ => supply}/pcf50633-charger.c (100%)
 rename drivers/power/{ => supply}/pda_power.c (100%)
 rename drivers/power/{ => supply}/pm2301_charger.c (100%)
 rename drivers/power/{ => supply}/pm2301_charger.h (100%)
 rename drivers/power/{ => supply}/pmu_battery.c (100%)
 rename drivers/power/{ => supply}/power_supply.h (100%)
 rename drivers/power/{ => supply}/power_supply_core.c (100%)
 rename drivers/power/{ => supply}/power_supply_leds.c (100%)
 rename drivers/power/{ => supply}/power_supply_sysfs.c (100%)
 rename drivers/power/{ => supply}/rx51_battery.c (100%)
 rename drivers/power/{ => supply}/s3c_adc_battery.c (100%)
 rename drivers/power/{ => supply}/sbs-battery.c (100%)
 rename drivers/power/{ => supply}/smb347-charger.c (100%)
 rename drivers/power/{ => supply}/test_power.c (100%)
 rename drivers/power/{ => supply}/tosa_battery.c (100%)
 rename drivers/power/{ => supply}/tps65090-charger.c (100%)
 rename drivers/power/{ => supply}/twl4030_charger.c (100%)
 rename drivers/power/{ => supply}/twl4030_madc_battery.c (100%)
 rename drivers/power/{ => supply}/wm831x_backup.c (100%)
 rename drivers/power/{ => supply}/wm831x_power.c (100%)
 rename drivers/power/{ => supply}/wm8350_power.c (100%)
 rename drivers/power/{ => supply}/wm97xx_battery.c (100%)
 rename drivers/power/{ => supply}/z2_battery.c (100%)
 create mode 100644 drivers/power/tegra-pmc.c

-- 
2.0.1

             reply	other threads:[~2014-07-07 14:16 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-07 14:16 Thierry Reding [this message]
2014-07-07 14:16 ` [PATCH 1/2] power: Move power-supply drivers to subdirectory Thierry Reding
2014-07-07 14:16 ` [PATCH 2/2] ARM: tegra: Convert PMC to a driver Thierry Reding
2014-07-21 21:08   ` Stephen Warren
2014-07-21 21:35     ` Thierry Reding

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1404742610-4951-1-git-send-email-thierry.reding@gmail.com \
    --to=thierry.reding@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).