X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=drivers%2Fpower%2Fregulator%2Fregulator-uclass.c;h=4511625ff25133330e4eeab96169c28b7113c671;hb=10d3e90f46feace58f4141b696d91644e594e3ed;hp=426a933d66d688cd6402eb1b0a7b3d70e6cf47b0;hpb=2218b32d88f9b4b4484cea9a8b034ddab0be298b;p=platform%2Fkernel%2Fu-boot.git diff --git a/drivers/power/regulator/regulator-uclass.c b/drivers/power/regulator/regulator-uclass.c index 426a933..4511625 100644 --- a/drivers/power/regulator/regulator-uclass.c +++ b/drivers/power/regulator/regulator-uclass.c @@ -1,8 +1,7 @@ +// SPDX-License-Identifier: GPL-2.0+ /* * Copyright (C) 2014-2015 Samsung Electronics * Przemyslaw Marczak - * - * SPDX-License-Identifier: GPL-2.0+ */ #include @@ -12,8 +11,6 @@ #include #include -DECLARE_GLOBAL_DATA_PTR; - int regulator_mode(struct udevice *dev, struct dm_regulator_mode **modep) { struct dm_regulator_uclass_platdata *uc_pdata; @@ -109,10 +106,15 @@ int regulator_get_enable(struct udevice *dev) int regulator_set_enable(struct udevice *dev, bool enable) { const struct dm_regulator_ops *ops = dev_get_driver_ops(dev); + struct dm_regulator_uclass_platdata *uc_pdata; if (!ops || !ops->set_enable) return -ENOSYS; + uc_pdata = dev_get_uclass_platdata(dev); + if (!enable && uc_pdata->always_on) + return -EACCES; + return ops->set_enable(dev, enable); }