Christophe JAILLET
12b38ea040
staging: spmi: hisi-spmi-controller: Fix some error handling paths
...
IN the probe function, if an error occurs after calling
'spmi_controller_alloc()', it must be undone by a corresponding
'spmi_controller_put() call.
In the remove function, use 'spmi_controller_put(ctrl)' instead of
'kfree(ctrl)'.
While a it fix an error message
(s/spmi_add_controller/spmi_controller_add/)
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr >
Link: https://lore.kernel.org/r/20201213151105.137731-1-christophe.jaillet@wanadoo.fr
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-12-28 15:14:53 +01:00
Wang Hai
ba3e4a2a0b
staging: mfd: hi6421-spmi-pmic: fix error return code in hi6421_spmi_pmic_probe()
...
Fix to return a negative error code from the error handling
case instead of 0, as done elsewhere in this function.
Fixes: 4524ac56cd ("staging: mfd: add a PMIC driver for HiSilicon 6421 SPMI version")
Reported-by: Hulk Robot <hulkci@huawei.com >
Signed-off-by: Wang Hai <wanghai38@huawei.com >
Link: https://lore.kernel.org/r/20201118103724.57451-1-wanghai38@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-11-23 17:59:51 +01:00
David Gow
1f59b0663d
staging: hikey9xx: Specify HAS_IOMEM dependency for MFD_HI6421_SPMI
...
MFD_CORE is selected by MFD_HI6421_SPMI, and MFD_CORE depends on
HAS_IOMEM. If HAS_IOMEM is not set, this can cause a conflict in Kconfig
resolution, yielding the following error:
WARNING: unmet direct dependencies detected for MFD_CORE
Depends on [n]: HAS_IOMEM [=n]
Selected by [y]:
- MFD_HI6421_SPMI [=y] && STAGING [=y] && OF [=y] && SPMI [=y]
By specifying HAS_IOMEM as a dependency for MFD_HI6421_SPMI (as
SPMI_HISI3670 already dows), this issue is resolved, and no such warning
appears when building on architectures without HAS_IOMEM.
Signed-off-by: David Gow <davidgow@google.com >
Link: https://lore.kernel.org/r/20201119082903.3601758-1-davidgow@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-11-23 17:59:51 +01:00
Juan Antonio Aldea-Armenteros
1b9419d1f6
staging: trivial: hikey9xx: fix be32<->u32 casting warnings
...
This patch fixes the following warnings reported by sparse, by adding
missing __force annotations.
drivers/staging/hikey9xx/hisi-spmi-controller.c:164:24: warning: cast to restricted __be32
drivers/staging/hikey9xx/hisi-spmi-controller.c:164:24: warning: cast to restricted __be32
drivers/staging/hikey9xx/hisi-spmi-controller.c:164:24: warning: cast to restricted __be32
drivers/staging/hikey9xx/hisi-spmi-controller.c:164:24: warning: cast to restricted __be32
drivers/staging/hikey9xx/hisi-spmi-controller.c:164:24: warning: cast to restricted __be32
drivers/staging/hikey9xx/hisi-spmi-controller.c:164:24: warning: cast to restricted __be32
drivers/staging/hikey9xx/hisi-spmi-controller.c:239:25: warning: cast from restricted __be32
Rationale for #164 :
data is declared as u32, and it is read and then converted by means of
be32_to_cpu(). Said function expects a __be32 but data is u32, therefore
there's a type missmatch here.
Rationale for #239 :
Is the dual of #164 . This time data going to be written so it
needs to be converted from cpu to __be32, but writel() expects u32 and the
output of cpu_to_be32 returns a __be32.
Signed-off-by: Juan Antonio Aldea-Armenteros <juant.aldea@gmail.com >
Link: https://lore.kernel.org/r/20201119122737.189675-1-juant.aldea@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-11-23 17:59:51 +01:00
Alex Dewar
c823f6a798
staging: hikey9xx: Fix incorrect assignment
...
In hi3670_phy_probe(), when reading property tx-vboost-lvl fails, its
default value is assigned to priv->eye_diagram_param, rather than to
priv->tx_vboost_lvl. Fix this.
Fixes: 8971a3b880 ("staging: hikey9xx: add USB physical layer for Kirin 3670")
Addresses-Coverity: CID 1497107: Incorrect expression (COPY_PASTE_ERROR)
Signed-off-by: Alex Dewar <alex.dewar90@gmail.com >
Link: https://lore.kernel.org/r/20200921212146.34662-1-alex.dewar90@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-09-22 09:51:28 +02:00
Dan Carpenter
dbbc8fdf2a
staging: spmi: hisi-spmi-controller: Use devm_ version of ioremap().
...
The ioremap() was never unmapped in the probe error handling or in the
remove function. The fix is to use the devm_ioremap() function so it
gets cleaned up automatically.
Fixes: 70f59c90c8 ("staging: spmi: add Hikey 970 SPMI controller driver")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com >
Link: https://lore.kernel.org/r/20200918143338.GE909725@mwanda
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-09-22 09:49:34 +02:00
Mauro Carvalho Chehab
8436f932d8
staging: hikey9xx: convert phy-kirin970-usb3.txt to yaml
...
Use the new YAML for this physical layer.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/03535ba996b3d82d522ce9c529bc2ce8e1d8d531.1600338981.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-09-17 18:50:26 +02:00
Mauro Carvalho Chehab
aa125e7187
staging: hikey9xx: phy-hi3670-usb3: change some DT properties
...
Do some changes at the DT properties in order to make it
follow the phy-hi3660-usb3 example and to simplify
usb3-phy-tx-vboost-lvl name.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/da128b9943bcb6a3d44a9512cedc7fa7a4aedee6.1600338981.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-09-17 18:50:26 +02:00
Mauro Carvalho Chehab
8c2a794c87
staging: hikey9xx: phy-hi3670-usb3: fix coding style
...
Address the issues reported by checkpatch --strict,
and add a SPDX tag.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/6b1f66068905b7d0a9a988c9d0bd4ebef19a6fc2.1600338981.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-09-17 18:50:26 +02:00
Mauro Carvalho Chehab
cf58bf42da
staging: hikey9xx: phy-hi3670-usb3.txt: use a consistent namespace
...
While this driver is not used yet, use a more consistent namespace,
similar to the PHY layer for Kirin 960 (hi3660).
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/49c2f648516e62d75d339edf42a029bac138e6c0.1600338981.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-09-17 18:50:26 +02:00
Mauro Carvalho Chehab
521703d6e3
staging: hikey9xx: phy-hi3670-usb3: use a consistent namespace
...
Rename hikey970 to hi3670, in order to use a namespace
similar to hi3660 driver.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/0a2b7d1d1779551be604532a9959237fd3513971.1600338981.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-09-17 18:50:25 +02:00
Yu Chen
b9e1814a91
staging: hikey9xx: phy-hi3670-usb3: fix some issues at the init code
...
There are some problems at the initialization part of this phy.
Solve them.
Signed-off-by: Yu Chen <chenyu56@huawei.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/5080774c68784afed1183cb54f540350e0551b07.1600338981.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-09-17 18:50:25 +02:00
Mauro Carvalho Chehab
2a0dc2c368
staging: hikey9xx: add build for the Kirin 970 PHY driver
...
Add the needed bits in order to build the Kirin 970 PHY
driver.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/60aae73e91348430e940638cf9668a0a63a85c1c.1600338981.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-09-17 18:50:25 +02:00
Yu Chen
8971a3b880
staging: hikey9xx: add USB physical layer for Kirin 3670
...
Add the Hisilicon Kirin 3670 USB phy driver.
This driver was imported from Linaro's official Hikey 970
tree, from the original patch, removing the addition of
the dwg3-specific parts, and getting the missing SoB from
its original author:
9d168f580c (diff-93bb70bc97bdd7be752cb6722adf2124)
[mchehab: moved to staging and dropped Makefile/Kconfig changes]
Signed-off-by: Yu Chen <chenyu56@huawei.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/0e6b2fa68cabd317511637fdfdeadc574196ea90.1600338981.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-09-17 18:50:25 +02:00
YueHaibing
978620cc4f
staging: regulator: hi6421v600-regulator: Remove unused including <linux/version.h>
...
Remove including <linux/version.h> that don't need it.
Reported-by: Hulk Robot <hulkci@huawei.com >
Signed-off-by: YueHaibing <yuehaibing@huawei.com >
Reviewed-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/20200910061756.40864-1-yuehaibing@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-09-13 09:26:24 +02:00
YueHaibing
4c6491a343
staging: spmi: hisi-spmi-controller: Use proper format in call to dev_err()
...
The correct format string for a size_t argument should be %zu.
Signed-off-by: YueHaibing <yuehaibing@huawei.com >
Reviewed-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/20200901035722.9324-1-yuehaibing@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-09-01 19:50:36 +02:00
Mauro Carvalho Chehab
e6627a5e82
staging: hikey9xx: update references inside the yaml files
...
The references inside those files were not assuming that
they would end at the staging tree.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/809bce085b0a9a9ede74d619d160e1e04723709d.1598434228.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-08-28 12:19:15 +02:00
Colin Ian King
e4cebcae75
staging: spmi: hisi-spmi-controller: fix spelling mistake "controlller" -> "controller"
...
There is a spelling mistake in the MODULE_ALIAS, fix it.
Signed-off-by: Colin Ian King <colin.king@canonical.com >
Reviewed-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/20200820075136.186199-1-colin.king@canonical.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-08-28 12:19:15 +02:00
Mauro Carvalho Chehab
bc752d2f34
staging: hikey9xx: Kconfig: add regulator dependency
...
The regulator driver needs it, as otherwise it will produce
errors when creating vmlinux.
Reported-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/a287238bd0141aa68aae7d4cec4c1174a43b3e53.1597766680.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-08-18 19:15:47 +02:00
Mauro Carvalho Chehab
9e59172885
dt: document HiSilicon SPMI controller and mfd/regulator properties
...
Add documentation for the properties needed by the HiSilicon
6421v600 driver, and by the SPMI controller used to access
the chipset.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/56c40a260bf31edf7049f50586c63ee0d06e02cb.1597762400.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-08-18 17:05:14 +02:00
Mauro Carvalho Chehab
9f46c3433f
staging: mfd: hi6421-spmi-pmic: Simplify the compatible string
...
It is clear that this driver is for PMIC. So, get rid of
it at the compatible.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/12bdc9b4734e156098408d0d27256abdc91ac283.1597762400.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-08-18 17:05:14 +02:00
Mauro Carvalho Chehab
de1a93b6a4
staging: spmi: hisi-spmi-controller: change compatible string
...
Add the chipset name at the compatible string, as other
HiSilicon chipsets with SPMI bus might require something
different.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/f34062e82b5d5ee49aab4f9055b44e42e5023f0a.1597762400.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-08-18 17:05:14 +02:00
Mauro Carvalho Chehab
b240d0143b
staging: mfd: hi6421-spmi-pmic: get rid of interrupt properties
...
Both irqnum and irqarray properties reflect the same thing:
the number of bits and bytes for interrupts at this
chipset. E. g.:
irqnum = 8 x irqarray
This can be seen by the way pending interrupts are handled:
/* During probe time */
pmic->irqs = devm_kzalloc(dev, pmic->irqnum * sizeof(int), GFP_KERNEL);
/* While handling IRQs */
for (i = 0; i < pmic->irqarray; i++) {
pending = hi6421_spmi_pmic_read(pmic, (i + pmic->irq_addr));
pending &= 0xff;
for_each_set_bit(offset, &pending, 8)
generic_handle_irq(pmic->irqs[offset + i * 8]);
}
Going further, there are some logic at the driver which assumes
that irqarray is 2:
/* solve powerkey order */
if ((i == HISI_IRQ_KEY_NUM) &&
((pending & HISI_IRQ_KEY_VALUE) == HISI_IRQ_KEY_VALUE)) {
generic_handle_irq(pmic->irqs[HISI_IRQ_KEY_DOWN]);
generic_handle_irq(pmic->irqs[HISI_IRQ_KEY_UP]);
pending &= (~HISI_IRQ_KEY_VALUE);
}
As HISI_IRQ_KEY_DOWN and HISI_IRQ_KEY_UP are fixed values
and don't depend on irqnum/irqarray.
The IRQ addr and mask addr seem to be also fixed, based on some
comments at the OF parsing code. So, get rid of them too,
removing the of parsing function completely.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/e231244e42cb5b56240705cac2f987e11a078038.1597762400.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-08-18 17:05:14 +02:00
Mauro Carvalho Chehab
78dd424357
staging: hikey9xx: fix Kconfig dependency chain
...
Both the SPMI controller and the SPMI PMIC driver
depends on the SPMI bus support.
The dependency for the regulator is also wrong:
it should depends on the SPMI version of the HiSilicon 6421,
and not on the normal one.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/1b7e23500e7449593393115cc0954af441b0c730.1597762400.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-08-18 17:05:14 +02:00
Mauro Carvalho Chehab
561e174eb3
staging: hikey9xx: add a TODO list
...
Place the things that are needed to be able to move those
drivers out of staging.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/bf3ebe32125646e0a87a59280392e8c6fda08488.1597647359.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-08-18 16:15:27 +02:00
Mauro Carvalho Chehab
2c4fb70d18
staging: regulator: hi6421v600-regulator: code cleanup
...
Do some code cleanup in order to make it cleaner for moving
it out of staging in the future.
Suggested-by: Jonathan Cameron <Jonathan.Cameron@Huawei.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/32fadb359c1817992af78052e2d9448b8c5fc61f.1597647359.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-08-18 16:15:27 +02:00
Mauro Carvalho Chehab
88e059e6c4
staging: regulator: hi6421v600-regulator: add it to the building system
...
Change the binding logic to ensure that the PMIC SPMI
driver will run before the regulator code and add it to the
building system.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/2992dc49945dcfb07c4bd96fa5c288c4e679701a.1597647359.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-08-18 16:15:27 +02:00
Mauro Carvalho Chehab
1275f3c3fc
staging: regulator: hi6421v600-regulator: fix some coding style issues
...
Fix the remaining issues complained by checkpatch.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/af5101fa2ab1d267ac5ac22603f95c6065ac110f.1597647359.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-08-18 16:15:27 +02:00
Mauro Carvalho Chehab
6f9bd6e262
staging: regulator: hi6421v600-regulator: cleanup DT settings
...
Currently, an array is used to store both vsel and enable
settings, mixing registers, masks and bit settings.
Change it in order to have one separate property for each.
This makes easier to understand the contents of the DT
file, and to describe it at the Documentation/.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/fd72215b0a7da55dd727c2d7bd01c047a46cdd2e.1597647359.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-08-18 16:15:27 +02:00
Mauro Carvalho Chehab
6105e9ab64
staging: regulator: hi6421v600-regulator: initialize ramp_delay
...
Without that, the regulator's core complains with:
ldo17: ramp_delay not set
For now, use the enable time, as we don't have any datasheets from
this device.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/67df5456e4f23c88ab4fd9331eb8202c3952e5c5.1597647359.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-08-18 16:15:26 +02:00
Mauro Carvalho Chehab
875a65a05d
staging: regulator: hi6421v600-regulator: add a driver-specific debug macro
...
Using dev_dbg() is not too nice, as, instead of printing the
name of the regulator, it prints "regulator.<number>", making
harder to associate what is happening with each ldo line.
So, add a debug-specific macro, which will print the rdev's
name, just like the regulator core.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/1690b8531b23910aa915bd2725410b926022c481.1597647359.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-08-18 16:15:26 +02:00
Mauro Carvalho Chehab
67a345c784
staging: regulator: hi6421v600-regulator: don't use usleep_range for off_on_delay
...
The regulator's core already handles it.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/4f17adca2b04c401e5de5556700638648ce25c0c.1597647359.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-08-18 16:15:26 +02:00
Mauro Carvalho Chehab
6043217695
staging: regulator: hi6421v600-regulator: convert to use get/set voltage_sel
...
As the supported LDOs on this driver are all using a selector,
change the implementation to use get_voltage_sel and
set_voltage_sel ops.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/1cf4f26540e65ffbb561c7d52e53f6be5bd63ac4.1597647359.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-08-18 16:15:26 +02:00
Mauro Carvalho Chehab
c22aeb9412
staging: regulator: hi6421v600-regulator: change namespace
...
Rename the functions used internally inside the driver in
order for them to follow the driver's name.
While here, get rid of some unused definitions at the
header file.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/5cda96baef9374a096a7a0c8f76f60491b0084c7.1597647359.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-08-18 16:15:26 +02:00
Mauro Carvalho Chehab
e086a9cd2b
staging: regulator: hi6421v600-regulator: better handle modes
...
Instead of implementing a custom set of properties, set
valid_modes_mask based on having or not a mask for enabling
the eco_mode.
This makes the code clearer, and remove some uneeded props
from DT.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/0f4ac5a4167bbca428c8507b6992acd8b3ebabd1.1597647359.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-08-18 16:15:26 +02:00
Mauro Carvalho Chehab
db27f8294c
staging: regulator: hi6421v600-regulator: use shorter names for OF properties
...
Simplify the names of the OF properties, in order to make
them similar to other drivers and to make easier to understand
what each property means.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/98f66100263940901ba59ec187919e9cf5e64f31.1597647359.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-08-18 16:15:26 +02:00
Mauro Carvalho Chehab
9a18329f77
staging: regulator: hi6421v600-regulator: cleanup debug messages
...
- use dev_foo() instead of pr_foo();
- cleanup the messages, making them more standard and easier
to understand.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/2d17e168031340da73e1bd1c826289ceba2dbe8f.1597647359.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-08-18 16:15:25 +02:00
Mauro Carvalho Chehab
32f53804d2
staging: regulator: hi6421v600-regulator: cleanup struct hisi_regulator
...
There are several fields on this struct that can be removed,
as they already exists at struct regulator_desc.
Remove them, cleaning up the code in the process.
While here, rename it to hi6421v600_regulator_info, in order
to better match the driver's name.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/648d48f11368a9869d760c2bd54bfbc3feb4f44c.1597647359.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-08-18 16:15:25 +02:00
Mauro Carvalho Chehab
75937f8f96
staging: regulator: hi6421v600-regulator: change the binding logic
...
Change the binding logic to ensure that the PMIC SPMI
driver will run before the regulator code and add it to the
building system.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/aa40d443dfc6c8e69e4c36fa79d15459762924e4.1597647359.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-08-18 16:15:25 +02:00
Mauro Carvalho Chehab
b660bf657d
staging: regulator: hi6421v600-regulator: coding style fixups
...
There are several issues on those drivers related to their
coding style. Solve most of them.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/9ea7fdc004c7c44ae513b6c8f6c4a4493dd1ac61.1597647359.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-08-18 16:15:25 +02:00
Mauro Carvalho Chehab
12ca3b20db
staging: regulator: hi6421v600-regulator: port it to upstream
...
The driver was originally written for Kernel 4.9. It needs to
be ported to upstream:
- Got rid of timeval;
- Removed a bogus dependency;
- Did cleanups at the header file.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/9e34400d2cc15ef501a8478f69a95c9abc5c4d8d.1597647359.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-08-18 16:15:25 +02:00
Mauro Carvalho Chehab
0e0473c838
staging: regulator: hi6421v600-regulator: get rid of unused code
...
Get rid of the sysfs code and other parts of the driver
which aren't needed upstream.
If needed later, this patch can be (partially?) reversed.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/698b2c7bdc92e336d2559bc65415807499b0e3a8.1597647359.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-08-18 16:15:25 +02:00
Mayulong
42f24d9d44
staging: regulator: add a regulator driver for HiSilicon 6421v600 SPMI PMIC
...
Add the regulator driver for the LDO lines provided by the
HiSilicon 6421v600 SPMI PMIC device.
[mchehab+huawei@kernel.org: keep just the regulator driver on this patch,
renaming it to better fit at upstream namespace]
The compete patch is at:
https://github.com/96boards-hikey/linux/commit/08464419fba2
Signed-off-by: Mayulong <mayulong1@huawei.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/6e5f6a811edf77575ddaa84ab6542cc646024423.1597647359.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-08-18 16:15:25 +02:00
Mauro Carvalho Chehab
6b94669925
staging: mfd: hi6421-spmi-pmic: cleanup the code
...
There are several small cleanups that can be done in order to
make the code more prepared to be upstreamed.
Suggested-by: Jonathan Cameron <Jonathan.Cameron@Huawei.com >
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/823792ba2f69e613629ab52a33e5728d54e2288b.1597647359.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-08-18 16:15:25 +02:00
Mauro Carvalho Chehab
926648d479
staging: mfd: hi6421-spmi-pmic: add it to the building system
...
Now that the driver is ready, place it at the build system.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/952e11ea1a33beaf67d6dc355d5c0f99ab4fb964.1597647359.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-08-18 16:15:24 +02:00
Mauro Carvalho Chehab
4d70881afd
staging: mfd: hi6421-spmi-pmic: fix some coding style issues
...
Checkpatch complains about some minor issues inside this
driver that were not addressed by the previous patch.
Address them.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/84b53d20632c84cc60b8dadfe937f3c54b355cef.1597647359.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-08-18 16:15:24 +02:00
Mauro Carvalho Chehab
1eb2784a90
staging: mfd: hi6421-spmi-pmic: change namespace on its functions
...
Rename the functions used internally inside the driver in
order for them to follow the driver's name.
While here, get rid of some unused definitions at the
header file.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/bfa8bf33f71612b1511d73269ca242d0d4e70940.1597647359.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-08-18 16:15:24 +02:00
Mauro Carvalho Chehab
4e15eadc85
staging: mfd: hi6421-spmi-pmic: cleanup OF properties
...
Simplify the names of the DT properties and do some cleanups,
in order to better document them.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/24ffcd28a17ee7b0940d8aabef556d172d5feddf.1597647359.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-08-18 16:15:24 +02:00
Mauro Carvalho Chehab
bd07d62a47
staging: mfd: hi6421-spmi-pmic: get rid of unused OF properties
...
There are several OF properties that aren't used by Hikey 970,
and some are not even used inside the driver.
So, drop them, as as this makes easier to document what's
actually used.
If latter needed, those could be re-added later.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/332f96c178b81bf1e9908a1da2127f043909ae0c.1597647359.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-08-18 16:15:24 +02:00
Mauro Carvalho Chehab
cf0f27b7b2
staging: mfd: hi6421-spmi-pmic: change the binding logic
...
Change the binding logic to ensure that the MFD driver
will be load after having the SPMI controller registered.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org >
Link: https://lore.kernel.org/r/eb50392ce68bb30f64c603572cdb9c91f93ea47b.1597647359.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2020-08-18 16:15:24 +02:00