u-boot.lists.denx.de archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 1/2] power: Correct dependencies on POWER_LEGACY
@ 2025-07-04 21:50 Tom Rini
  2025-07-04 21:50 ` [PATCH v2 2/2] power: Split *POWER_LEGACY portion of <power/pmic.h> out to new header Tom Rini
  2025-08-31 22:38 ` [PATCH v2 1/2] power: Correct dependencies on POWER_LEGACY Tom Rini
  0 siblings, 2 replies; 3+ messages in thread
From: Tom Rini @ 2025-07-04 21:50 UTC (permalink / raw)
  To: u-boot

The POWER_LEGACY option functionally depends on not having DM_PMIC
enabled, so add that here.

Signed-off-by: Tom Rini <trini@konsulko.com>
---
Changes in v2:
- Correct commit log (Fabio)
---
 drivers/power/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/power/Kconfig b/drivers/power/Kconfig
index eed65058e667..fd1c871f0dbb 100644
--- a/drivers/power/Kconfig
+++ b/drivers/power/Kconfig
@@ -15,6 +15,7 @@ if POWER
 
 config POWER_LEGACY
 	bool "Legacy power support"
+	depends on !DM_PMIC
 	help
 	  Note: This is a legacy option. Use DM_PMIC instead.
 
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH v2 2/2] power: Split *POWER_LEGACY portion of <power/pmic.h> out to new header
  2025-07-04 21:50 [PATCH v2 1/2] power: Correct dependencies on POWER_LEGACY Tom Rini
@ 2025-07-04 21:50 ` Tom Rini
  2025-08-31 22:38 ` [PATCH v2 1/2] power: Correct dependencies on POWER_LEGACY Tom Rini
  1 sibling, 0 replies; 3+ messages in thread
From: Tom Rini @ 2025-07-04 21:50 UTC (permalink / raw)
  To: u-boot

The commends in include/power/pmic.h say that once SPL_DM_PMIC exists we
should update things. This has been true for some time, so let us update
this to have the legacy portions in their own header, which should not
be directly included. This cleans up the logic within the file too
slightly.

Signed-off-by: Tom Rini <trini@konsulko.com>
---
Changes in v2:
- Remove one more now incorrect comment
---
 include/power/pmic.h        | 89 ++---------------------------------
 include/power/pmic_legacy.h | 94 +++++++++++++++++++++++++++++++++++++
 2 files changed, 97 insertions(+), 86 deletions(-)
 create mode 100644 include/power/pmic_legacy.h

diff --git a/include/power/pmic.h b/include/power/pmic.h
index 636221692d0b..4aee07383a98 100644
--- a/include/power/pmic.h
+++ b/include/power/pmic.h
@@ -17,76 +17,9 @@
 
 enum { PMIC_I2C, PMIC_SPI, PMIC_NONE};
 
-/* TODO: Change to !CONFIG_IS_ENABLED(DM_PMIC) when SPL_DM_PMIC exists */
 #if CONFIG_IS_ENABLED(POWER_LEGACY)
-enum { I2C_PMIC, I2C_NUM, };
-enum { PMIC_READ, PMIC_WRITE, };
-enum { PMIC_SENSOR_BYTE_ORDER_LITTLE, PMIC_SENSOR_BYTE_ORDER_BIG, };
-
-enum {
-	PMIC_CHARGER_DISABLE,
-	PMIC_CHARGER_ENABLE,
-};
-
-struct p_i2c {
-	unsigned char addr;
-	unsigned char *buf;
-	unsigned char tx_num;
-};
-
-struct p_spi {
-	unsigned int cs;
-	unsigned int mode;
-	unsigned int bitlen;
-	unsigned int clk;
-	unsigned int flags;
-	u32 (*prepare_tx)(u32 reg, u32 *val, u32 write);
-};
-
-struct pmic;
-struct power_fg {
-	int (*fg_battery_check) (struct pmic *p, struct pmic *bat);
-	int (*fg_battery_update) (struct pmic *p, struct pmic *bat);
-};
-
-struct power_chrg {
-	int (*chrg_type) (struct pmic *p);
-	int (*chrg_bat_present) (struct pmic *p);
-	int (*chrg_state) (struct pmic *p, int state, int current);
-};
-
-struct power_battery {
-	struct battery *bat;
-	int (*battery_init) (struct pmic *bat, struct pmic *p1,
-			     struct pmic *p2, struct pmic *p3);
-	int (*battery_charge) (struct pmic *bat);
-	/* Keep info about power devices involved with battery operation */
-	struct pmic *chrg, *fg, *muic;
-};
-
-struct pmic {
-	const char *name;
-	unsigned char bus;
-	unsigned char interface;
-	unsigned char sensor_byte_order;
-	unsigned int number_of_regs;
-	union hw {
-		struct p_i2c i2c;
-		struct p_spi spi;
-	} hw;
-
-	void (*low_power_mode) (void);
-	struct power_battery *pbat;
-	struct power_chrg *chrg;
-	struct power_fg *fg;
-
-	struct pmic *parent;
-	struct list_head list;
-};
-#endif /* CONFIG_IS_ENABLED(POWER_LEGACY) */
-
-/* TODO: Change to CONFIG_IS_ENABLED(DM_PMIC) when SPL_DM_PMIC exists */
-#if defined(CONFIG_DM_PMIC) || !CONFIG_IS_ENABLED(POWER_LEGACY)
+#include <power/pmic_legacy.h>
+#else
 /**
  * U-Boot PMIC Framework
  * =====================
@@ -308,23 +241,7 @@ struct uc_pmic_priv {
 	uint trans_len;
 };
 
-#endif /* DM_PMIC */
-
-/* TODO: Change to CONFIG_IS_ENABLED(DM_PMIC) when SPL_DM_PMIC exists */
-#if CONFIG_IS_ENABLED(POWER_LEGACY)
-
-/* Legacy API, do not use */
-int pmic_init(unsigned char bus);
-int power_init_board(void);
-int pmic_dialog_init(unsigned char bus);
-int check_reg(struct pmic *p, u32 reg);
-struct pmic *pmic_alloc(void);
-struct pmic *pmic_get(const char *s);
-int pmic_probe(struct pmic *p);
-int pmic_reg_read(struct pmic *p, u32 reg, u32 *val);
-int pmic_reg_write(struct pmic *p, u32 reg, u32 val);
-int pmic_set_output(struct pmic *p, u32 reg, int ldo, int on);
-#endif /* CONFIG_IS_ENABLED(POWER_LEGACY) */
+#endif
 
 #define pmic_i2c_addr (p->hw.i2c.addr)
 #define pmic_i2c_tx_num (p->hw.i2c.tx_num)
diff --git a/include/power/pmic_legacy.h b/include/power/pmic_legacy.h
new file mode 100644
index 000000000000..7c244060b4ab
--- /dev/null
+++ b/include/power/pmic_legacy.h
@@ -0,0 +1,94 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ *  Copyright (C) 2014-2015 Samsung Electronics
+ *  Przemyslaw Marczak <p.marczak@samsung.com>
+ *
+ *  Copyright (C) 2011-2012 Samsung Electronics
+ *  Lukasz Majewski <l.majewski@samsung.com>
+ */
+
+#ifndef __POWER_PMIC_LEGACY_H__
+#define __POWER_PMIC_LEGACY_H__
+
+#ifndef __CORE_PMIC_H_
+#error "Do not include <power/pmic_legacy.h> directly"
+#endif
+
+enum { I2C_PMIC, I2C_NUM, };
+enum { PMIC_READ, PMIC_WRITE, };
+enum { PMIC_SENSOR_BYTE_ORDER_LITTLE, PMIC_SENSOR_BYTE_ORDER_BIG, };
+
+enum {
+	PMIC_CHARGER_DISABLE,
+	PMIC_CHARGER_ENABLE,
+};
+
+struct p_i2c {
+	unsigned char addr;
+	unsigned char *buf;
+	unsigned char tx_num;
+};
+
+struct p_spi {
+	unsigned int cs;
+	unsigned int mode;
+	unsigned int bitlen;
+	unsigned int clk;
+	unsigned int flags;
+	u32 (*prepare_tx)(u32 reg, u32 *val, u32 write);
+};
+
+struct pmic;
+struct power_fg {
+	int (*fg_battery_check) (struct pmic *p, struct pmic *bat);
+	int (*fg_battery_update) (struct pmic *p, struct pmic *bat);
+};
+
+struct power_chrg {
+	int (*chrg_type) (struct pmic *p);
+	int (*chrg_bat_present) (struct pmic *p);
+	int (*chrg_state) (struct pmic *p, int state, int current);
+};
+
+struct power_battery {
+	struct battery *bat;
+	int (*battery_init) (struct pmic *bat, struct pmic *p1,
+			     struct pmic *p2, struct pmic *p3);
+	int (*battery_charge) (struct pmic *bat);
+	/* Keep info about power devices involved with battery operation */
+	struct pmic *chrg, *fg, *muic;
+};
+
+struct pmic {
+	const char *name;
+	unsigned char bus;
+	unsigned char interface;
+	unsigned char sensor_byte_order;
+	unsigned int number_of_regs;
+	union hw {
+		struct p_i2c i2c;
+		struct p_spi spi;
+	} hw;
+
+	void (*low_power_mode) (void);
+	struct power_battery *pbat;
+	struct power_chrg *chrg;
+	struct power_fg *fg;
+
+	struct pmic *parent;
+	struct list_head list;
+};
+
+/* Legacy API, do not use */
+int pmic_init(unsigned char bus);
+int power_init_board(void);
+int pmic_dialog_init(unsigned char bus);
+int check_reg(struct pmic *p, u32 reg);
+struct pmic *pmic_alloc(void);
+struct pmic *pmic_get(const char *s);
+int pmic_probe(struct pmic *p);
+int pmic_reg_read(struct pmic *p, u32 reg, u32 *val);
+int pmic_reg_write(struct pmic *p, u32 reg, u32 val);
+int pmic_set_output(struct pmic *p, u32 reg, int ldo, int on);
+
+#endif
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v2 1/2] power: Correct dependencies on POWER_LEGACY
  2025-07-04 21:50 [PATCH v2 1/2] power: Correct dependencies on POWER_LEGACY Tom Rini
  2025-07-04 21:50 ` [PATCH v2 2/2] power: Split *POWER_LEGACY portion of <power/pmic.h> out to new header Tom Rini
@ 2025-08-31 22:38 ` Tom Rini
  1 sibling, 0 replies; 3+ messages in thread
From: Tom Rini @ 2025-08-31 22:38 UTC (permalink / raw)
  To: u-boot, Tom Rini

On Fri, 04 Jul 2025 15:50:20 -0600, Tom Rini wrote:

> The POWER_LEGACY option functionally depends on not having DM_PMIC
> enabled, so add that here.
> 
> 

Applied to u-boot/next, thanks!

[1/2] power: Correct dependencies on POWER_LEGACY
      commit: 31a309ff3eca5a9bb4fa8228d5270d792e7e0522
[2/2] power: Split *POWER_LEGACY portion of <power/pmic.h> out to new header
      commit: 9d875d674ff830a6036153a4c390c75267e775b6
-- 
Tom



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-08-31 22:38 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-04 21:50 [PATCH v2 1/2] power: Correct dependencies on POWER_LEGACY Tom Rini
2025-07-04 21:50 ` [PATCH v2 2/2] power: Split *POWER_LEGACY portion of <power/pmic.h> out to new header Tom Rini
2025-08-31 22:38 ` [PATCH v2 1/2] power: Correct dependencies on POWER_LEGACY Tom Rini

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).