Patchwork [U-Boot,v4,08/24] pmic: Move pmic related code to ./drivers/power directory

login
register
mail settings
Submitter Łukasz Majewski
Date Oct. 30, 2012, 4:57 p.m.
Message ID <1351616239-21079-9-git-send-email-l.majewski@samsung.com>
Download mbox | patch
Permalink /patch/195548/
State Superseded
Delegated to: Tom Rini
Headers show

Comments

Łukasz Majewski - Oct. 30, 2012, 4:57 p.m.
The PMIC framework has been moved to its more natural place
./drivers/power from ./drivers/misc directory.

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
---
Changes for v2:
- New patch for v2
Changes for v3:
- None
Changes for v4:
- Move PMIC related code (max8997.c and max8998.c) to power/pmic
- Define ./power/pmic/libpmic.o library
---
 Makefile                                    |    3 +-
 drivers/misc/Makefile                       |    7 ----
 drivers/power/Makefile                      |   12 +++++--
 drivers/power/pmic/Makefile                 |   48 +++++++++++++++++++++++++++
 drivers/{misc => power/pmic}/pmic_max8997.c |    0
 drivers/{misc => power/pmic}/pmic_max8998.c |    0
 drivers/{misc => power}/pmic_core.c         |    0
 drivers/{misc => power}/pmic_dialog.c       |    0
 drivers/{misc => power}/pmic_fsl.c          |    0
 drivers/{misc => power}/pmic_i2c.c          |    0
 drivers/{misc => power}/pmic_spi.c          |    0
 11 files changed, 59 insertions(+), 11 deletions(-)
 create mode 100644 drivers/power/pmic/Makefile
 rename drivers/{misc => power/pmic}/pmic_max8997.c (100%)
 rename drivers/{misc => power/pmic}/pmic_max8998.c (100%)
 rename drivers/{misc => power}/pmic_core.c (100%)
 rename drivers/{misc => power}/pmic_dialog.c (100%)
 rename drivers/{misc => power}/pmic_fsl.c (100%)
 rename drivers/{misc => power}/pmic_i2c.c (100%)
 rename drivers/{misc => power}/pmic_spi.c (100%)

diff --git a/drivers/misc/pmic_max8997.c b/drivers/power/pmic/pmic_max8997.c
similarity index 100%
rename from drivers/misc/pmic_max8997.c
rename to drivers/power/pmic/pmic_max8997.c
diff --git a/drivers/misc/pmic_max8998.c b/drivers/power/pmic/pmic_max8998.c
similarity index 100%
rename from drivers/misc/pmic_max8998.c
rename to drivers/power/pmic/pmic_max8998.c
diff --git a/drivers/misc/pmic_core.c b/drivers/power/pmic_core.c
similarity index 100%
rename from drivers/misc/pmic_core.c
rename to drivers/power/pmic_core.c
diff --git a/drivers/misc/pmic_dialog.c b/drivers/power/pmic_dialog.c
similarity index 100%
rename from drivers/misc/pmic_dialog.c
rename to drivers/power/pmic_dialog.c
diff --git a/drivers/misc/pmic_fsl.c b/drivers/power/pmic_fsl.c
similarity index 100%
rename from drivers/misc/pmic_fsl.c
rename to drivers/power/pmic_fsl.c
diff --git a/drivers/misc/pmic_i2c.c b/drivers/power/pmic_i2c.c
similarity index 100%
rename from drivers/misc/pmic_i2c.c
rename to drivers/power/pmic_i2c.c
diff --git a/drivers/misc/pmic_spi.c b/drivers/power/pmic_spi.c
similarity index 100%
rename from drivers/misc/pmic_spi.c
rename to drivers/power/pmic_spi.c
Tom Rini - Oct. 30, 2012, 8:02 p.m.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 10/30/12 09:57, Lukasz Majewski wrote:
> The PMIC framework has been moved to its more natural place 
> ./drivers/power from ./drivers/misc directory.
[snip]
> drivers/{misc => power/pmic}/pmic_max8997.c |    0 drivers/{misc =>
> power/pmic}/pmic_max8998.c |    0 drivers/{misc =>
> power}/pmic_core.c         |    0 drivers/{misc =>
> power}/pmic_dialog.c       |    0 drivers/{misc =>
> power}/pmic_fsl.c          |    0 drivers/{misc =>
> power}/pmic_i2c.c          |    0 drivers/{misc =>
> power}/pmic_spi.c          |    0

OK, so I think we need a slightly different re-org, after looking at
the whole series, sorry.  Lets go for:
drivers/power/pmic/max8998.c, i2c.c, fsl.c, spi.c, etc and libpmic.o
drivers/power/fuel_gauge/max17402.c and libfuel_gauge.o
... etc

And just leaving them as pmic_i2c.c, etc, if I'm forgetting some
reason we can't have multiple 'i2c.c' files.  Thanks!

- -- 
Tom
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://www.enigmail.net/

iQIcBAEBAgAGBQJQkDJTAAoJENk4IS6UOR1WQVQP/ie8OxPuz50cjXmfyMw9QWHf
/jDH5rArGH004eKayJgy6AHlGEYXPLMCzLB3GBNvaJMO/5UK7knr953BXF0GW7vY
BDbfiir/x7i6OeG4HkXEx5x7epvHTqmrKgZ55/kPIBAeoXFWUS8zldo6xHVKk547
qyozjM/77sGfwnktuVaIRi42FLw9x511rzv5bLW0P/8FLPn6S5TKEthCeL2TIi6J
YnKFyuepR9TVI4u6pkivo+SNBlzTnd/QxKyRrcRMlbrFUocxbDns/yPReY59fCVw
IgRtmMCrnRrSRnkZyQQYRryonfyeE+8oDz6UsLAHklvLaSQgv0nO/EEEp7ueQ6D1
tOQwLXY3Ice8okcnVDLJlwaeUvfKGnutgdH8fzb/5yFflj7hd0BW/Bwzzxb/nAyW
8NtQ/JNphMNmuYOj+pPYXQBUKBxtBEKKvUgWhhV8uC2D7ezrC1VJt94vVB9LOjN4
GyC7bPpLMUtb8iE25583xSXG/emBBQ/gBuwng+6u0r1Iplh3pk5pJVpvjRjNJ+Gb
8lSpLzsID3o72d1HWDSK6OUWKMDb76VTr3+h2u0R7dYXDqkFxMuLbcFkBGqVx7pp
Cl688qdstRSjoXBQPbPF/X1HlWuEKr64bxnIBzLiT7Z3NWjPgdtJSqZXt+x72FSU
fwNHMHnCzF3B6t0fdyBe
=RmBj
-----END PGP SIGNATURE-----
Lukasz Majewski - Oct. 30, 2012, 10:59 p.m.
Hi Tom,

> On 10/30/12 09:57, Lukasz Majewski wrote:
> > The PMIC framework has been moved to its more natural place 
> > ./drivers/power from ./drivers/misc directory.
> [snip]
> > drivers/{misc => power/pmic}/pmic_max8997.c |    0 drivers/{misc =>
> > power/pmic}/pmic_max8998.c |    0 drivers/{misc =>
> > power}/pmic_core.c         |    0 drivers/{misc =>
> > power}/pmic_dialog.c       |    0 drivers/{misc =>
> > power}/pmic_fsl.c          |    0 drivers/{misc =>
> > power}/pmic_i2c.c          |    0 drivers/{misc =>
> > power}/pmic_spi.c          |    0
> 
> OK, so I think we need a slightly different re-org, after looking at
> the whole series, sorry.  Lets go for:
> drivers/power/pmic/max8998.c, i2c.c, fsl.c, spi.c, etc and libpmic.o
> drivers/power/fuel_gauge/max17402.c and libfuel_gauge.o
> ... etc

I'm a bit confused now....

The approach which I've now proposed is defined at patch 8 (not 4 as
you pointed out):
pmic: Move pmic related code to ./drivers/power directory

It is as follows:

1. The "core" power/pmic subsystem files are moved to: ./drivers/power/
directory (like pmic_core.c pmic_i2c.c etc.). To be more precise those
files are renamed to power_* at patch 22 in the series.

2. There have been created directories for pmic, fuel gauge and battery
for different HW ICs. It is (in my opinion) welcome to combine all
files from the same category to one library (libfuel_gauge.o,
libpmic.o, libbattery.o). 

libfuel_gauge.o and libpmic.o are also linked from the top ./Makefile -
due to that MAKEALL with BUILD_DIR works (without any special make
"magic" at ./drivers/power dir.

3. All pmic/power related header files have been moved
to ./include/power directory (with proper names to reflect
corresponding IC circuit - e.g. max8998_pmic.h).


Moreover, the last three patches in the series (22,23,24) start
the process of renaming from "pmic" to "power". 


> 
> And just leaving them as pmic_i2c.c, etc, if I'm forgetting some
> reason we can't have multiple 'i2c.c' files.  Thanks!
> 

Sorry, but could you clarify this proposition? From my point of view it
is welcome to provide names with power_* prefix (like power_i2c.c - as
it is defined at patch 22).

I'm aware, that those changes are massive, but after applying last of
the 24 commits, one can evaluate the proposed directory structure as
neat and clear.


Best regards,
Lukasz Majewski
Tom Rini - Oct. 30, 2012, 11:41 p.m.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 10/30/12 15:59, Lukasz Majewski wrote:
> Hi Tom,
> 
>> On 10/30/12 09:57, Lukasz Majewski wrote:
>>> The PMIC framework has been moved to its more natural place 
>>> ./drivers/power from ./drivers/misc directory.
>> [snip]
>>> drivers/{misc => power/pmic}/pmic_max8997.c |    0
>>> drivers/{misc => power/pmic}/pmic_max8998.c |    0
>>> drivers/{misc => power}/pmic_core.c         |    0
>>> drivers/{misc => power}/pmic_dialog.c       |    0
>>> drivers/{misc => power}/pmic_fsl.c          |    0
>>> drivers/{misc => power}/pmic_i2c.c          |    0
>>> drivers/{misc => power}/pmic_spi.c          |    0
>> 
>> OK, so I think we need a slightly different re-org, after looking
>> at the whole series, sorry.  Lets go for: 
>> drivers/power/pmic/max8998.c, i2c.c, fsl.c, spi.c, etc and
>> libpmic.o drivers/power/fuel_gauge/max17402.c and
>> libfuel_gauge.o ... etc
> 
> I'm a bit confused now....

OK, I was confused.  I thought I had looked at the diffstat in 0/24
enough but I guess not.  What you've got setup now looks good and is
consistent with our other files.  Thanks!

- -- 
Tom
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://www.enigmail.net/

iQIcBAEBAgAGBQJQkGW0AAoJENk4IS6UOR1W1p8P/2yBecQVGIDgWbb9Z5efABaX
/UCQh/iUgNWQlfppDYfEQB5Mxwz69ZhsWf9dLJ5w/CBrzaXK1RejZNRX7wb9k94Q
Y8RXNvs5/Ih+afY8bLwNsckUOzMHX2wTxH0r5t7SbzerLWmSUVT7GD/l03t5/lIj
lELhpcj2mTkWYJkLClT7HmBT2rLVCGjhOoa0pMA7+c6IkEsvnUIOya7ahlr5glem
yCCnkWekdGEOcsDguj1h/UXPtoIGp3rewDihf9LfOX2DvoVArwuja93vrhZTARj8
gtkKOCEDJEs4HdDLTSujb3eaHLW5dQ3Wt4DlDfe1R20TYv2pIMYiYF7KzZQr9M+z
kWGi0PzvzWJi8W2sTVb8RD6RGn9qJJlA21RqYC0jyVbPE7fyhkMdXFXq4deoW7Qg
x0j4XTujAj02r+dnG6SVIcUQmNsl3aO5zkrNHWK1TZQ9+Y/DcIkLiDURLyvx0Afe
KIYEJZfJrFglfyIZjzykqdav/Wv72Kpgpn8tLa+aDc/6CZlaK/G2jvV9LsCc2Jug
QCmrK1PXARV8maRzXzyIpv7OGQEQ4UX2YOBPNYJOZG4cMHzAW7kELLdCBERnzK/8
1XejawyOwHaJuW2mBibOB/b0Agy3fRrLRrdT9NWLJamsqWiTSp9N4SmNptNGu1yb
OQCSQf/7CcFveIbZZYuj
=YYZS
-----END PGP SIGNATURE-----

Patch

diff --git a/Makefile b/Makefile
index d385467..f53f6ad 100644
--- a/Makefile
+++ b/Makefile
@@ -292,7 +292,8 @@  LIBS-y += drivers/net/libnet.o
 LIBS-y += drivers/net/phy/libphy.o
 LIBS-y += drivers/pci/libpci.o
 LIBS-y += drivers/pcmcia/libpcmcia.o
-LIBS-y += drivers/power/libpower.o
+LIBS-y += drivers/power/libpower.o \
+	drivers/power/pmic/libpmic.o
 LIBS-y += drivers/spi/libspi.o
 LIBS-y += drivers/dfu/libdfu.o
 ifeq ($(CPU),mpc83xx)
diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
index 271463c..cdec88b 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
@@ -34,13 +34,6 @@  COBJS-$(CONFIG_NS87308) += ns87308.o
 COBJS-$(CONFIG_PDSP188x) += pdsp188x.o
 COBJS-$(CONFIG_STATUS_LED) += status_led.o
 COBJS-$(CONFIG_TWL4030_LED) += twl4030_led.o
-COBJS-$(CONFIG_PMIC) += pmic_core.o
-COBJS-$(CONFIG_DIALOG_PMIC) += pmic_dialog.o
-COBJS-$(CONFIG_PMIC_FSL) += pmic_fsl.o
-COBJS-$(CONFIG_PMIC_I2C) += pmic_i2c.o
-COBJS-$(CONFIG_PMIC_SPI) += pmic_spi.o
-COBJS-$(CONFIG_PMIC_MAX8998) += pmic_max8998.o
-COBJS-$(CONFIG_PMIC_MAX8997) += pmic_max8997.o
 
 COBJS	:= $(COBJS-y)
 SRCS	:= $(COBJS:.o=.c)
diff --git a/drivers/power/Makefile b/drivers/power/Makefile
index 6bf388c..7fc5554 100644
--- a/drivers/power/Makefile
+++ b/drivers/power/Makefile
@@ -23,7 +23,7 @@ 
 
 include $(TOPDIR)/config.mk
 
-LIB 	:= $(obj)libpower.o
+LIB	:= $(obj)libpower.o
 
 COBJS-$(CONFIG_FTPMU010_POWER)	+= ftpmu010.o
 COBJS-$(CONFIG_TPS6586X_POWER)	+= tps6586x.o
@@ -31,9 +31,15 @@  COBJS-$(CONFIG_TWL4030_POWER)	+= twl4030.o
 COBJS-$(CONFIG_TWL6030_POWER)	+= twl6030.o
 COBJS-$(CONFIG_TWL6035_POWER)	+= twl6035.o
 
+COBJS-$(CONFIG_PMIC) += pmic_core.o
+COBJS-$(CONFIG_DIALOG_PMIC) += pmic_dialog.o
+COBJS-$(CONFIG_PMIC_FSL) += pmic_fsl.o
+COBJS-$(CONFIG_PMIC_I2C) += pmic_i2c.o
+COBJS-$(CONFIG_PMIC_SPI) += pmic_spi.o
+
 COBJS	:= $(COBJS-y)
-SRCS 	:= $(COBJS:.o=.c)
-OBJS 	:= $(addprefix $(obj),$(COBJS))
+SRCS	:= $(COBJS:.o=.c)
+OBJS	:= $(addprefix $(obj),$(COBJS))
 
 all:	$(LIB)
 
diff --git a/drivers/power/pmic/Makefile b/drivers/power/pmic/Makefile
new file mode 100644
index 0000000..8ccd6e9
--- /dev/null
+++ b/drivers/power/pmic/Makefile
@@ -0,0 +1,48 @@ 
+#
+# Copyright (C) 2012 Samsung Electronics
+# Lukasz Majewski <l.majewski@samsung.com>
+#
+# See file CREDITS for list of people who contributed to this
+# project.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+# MA 02111-1307 USA
+#
+
+include $(TOPDIR)/config.mk
+
+LIB	:= $(obj)libpmic.o
+
+COBJS-$(CONFIG_PMIC_MAX8998) += pmic_max8998.o
+COBJS-$(CONFIG_PMIC_MAX8997) += pmic_max8997.o
+
+COBJS	:= $(COBJS-y)
+SRCS	:= $(COBJS:.o=.c)
+OBJS	:= $(addprefix $(obj),$(COBJS))
+
+all:	$(LIB)
+
+$(LIB):	$(obj).depend $(OBJS)
+	$(call cmd_link_o_target, $(OBJS))
+
+
+#########################################################################
+
+# defines $(obj).depend target
+include $(SRCTREE)/rules.mk
+
+sinclude $(obj).depend
+
+########################################################################