On 4 February 2016 at 09:57, Chen Feng <puck.chen@hisilicon.com> wrote:


On 2016/2/3 20:04, Mark Brown wrote:
> On Wed, Feb 03, 2016 at 03:52:09PM +0800, Guodong Xu wrote:
>
>> As of v4.4, already upstreamed:
>
>> - clk, psci, basic dts, uart, cpufreq, cpuidle, mailbox, emmc, wifi driver
>> fix, and tsensor (thermal)
>
> Of these only the clock, PSCI and the UART appear to be included in the
> DTS.  If a feature is not enabled in the DTS most people would not
> understand it as being supported upstream for the board since there is
> no way for someone to actually use any of these features if they use
> mainline.
>
>> - hikey can boot using vanilla v4.4 kernel and defconfig.
>
> It can boot to serial console with a ramdisk, nothing else.  There is a
> serious discrepency between the features you are reporting as supported
> upstream and the features that are actually supported upstream, the set
> supported upstream is has not changed substantially since merge.
>
>> v4.5-rc1:
>
>> USB: driver, 37dd9d6 usb: dwc2: add support of hi6220.
>
> Again, this does not appear in the DT and is therefore unusable for
> anyone using mainline.
>
>> Slated for v4.6 merge-window:
>
>> hisi-reset driver: in linux-next ( http://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/tree/drivers/reset/hisilicon?h=next-20160129
>> )
>
> This seems to already be in Linus' tree so unless some major problem is
> discovered it should be in v4.5.
>
>> DTS: in maintainer's git repo: <https://github.com/hisilicon/linux-hisi>
>>
>> - Including: gpio, pinctrl, i2c
>
> This does not appear to be part of the kernel development process, it
> does not appear in -next and I can't see any prior cases where a pull
> request from this tree has made it into -next.  I don't see that there
> is any reasonable expectation that anything there will make it into
> mainline.
>
> Like I said above there is a big difference between what you are
> reporting as upstream and the features that are practically usable
> upstream.  This is creating a lot of frustration on the part of
> potential users who want to work on mainline, both with the lack of
> features itself and with the fact that lists of supported features are
> typically substantially inaccurate which makes people feel they are
> being mislead.
>
Hi Mark,

Can you help review the regualtor V7 patches?

It's already reviewed by haojian.zhuang. He thinks it is okay now.


Chenfeng, I integrated your v7 patch to HiKey. And it still has the problem reported by Grant (ldo21 1.8V never enabled).

I checked more, here is a bug fix. In one word, .enable_mask takes bit mask, not bit number.

-Guodong

>>

docularxu@docularxu-ThinkPad-T440p:~/Huawei/v8r2/v8r2-kernel-3$ git show 28664a33b45a52b23bd1a68b5f27a959dde033f3
commit 28664a33b45a52b23bd1a68b5f27a959dde033f3
Author: Guodong Xu <guodong.xu@linaro.org>
Date:   Thu Feb 4 21:05:30 2016 +0800

    regulator: hi655x: bug fix, cmask should be BIT mask
    
    Signed-off-by: Guodong Xu <guodong.xu@linaro.org>

diff --git a/drivers/regulator/hi655x-regulator.c b/drivers/regulator/hi655x-regulator.c
index bca15ed..9074355 100644
--- a/drivers/regulator/hi655x-regulator.c
+++ b/drivers/regulator/hi655x-regulator.c
@@ -33,7 +33,6 @@ struct hi655x_regulator {
        struct regulator_desc rdesc;
 };
 
-/* LDO7 & LDO10 */
 static const unsigned int ldo7_voltages[] = {
        1800000, 1850000, 2850000, 2900000,
        3000000, 3100000, 3200000, 3300000,
@@ -129,7 +128,7 @@ static struct regulator_ops hi655x_ldo_linear_ops = {
                .vsel_reg        = HI655X_BUS_ADDR(vreg),        \
                .vsel_mask       = vmask,                        \
                .enable_reg      = HI655X_BUS_ADDR(ereg),        \
-               .enable_mask     = cmask,                        \
+               .enable_mask     = BIT(cmask),                   \
        },                                                       \
        .disable_reg = HI655X_BUS_ADDR(dreg),                    \
        .status_reg = HI655X_BUS_ADDR(sreg),                     \
@@ -149,11 +148,10 @@ static struct regulator_ops hi655x_ldo_linear_ops = {
                .min_uV          = minv,                         \
                .n_voltages      = nvolt,                        \
                .uV_step         = vstep,                        \
-               .uV_step         = vstep,                        \
                .vsel_reg        = HI655X_BUS_ADDR(vreg),        \
                .vsel_mask       = vmask,                        \
                .enable_reg      = HI655X_BUS_ADDR(ereg),        \
-               .enable_mask     = cmask,                        \
+               .enable_mask     = BIT(cmask),                   \
        },                                                       \
        .disable_reg = HI655X_BUS_ADDR(dreg),                    \
        .status_reg = HI655X_BUS_ADDR(sreg),                     \

 
>
>
> _______________________________________________
> Dev mailing list
> Dev@lists.96boards.org
> https://lists.96boards.org/mailman/listinfo/dev
>