Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ec49b5c2 authored by Marcin Slusarz's avatar Marcin Slusarz Committed by Ben Skeggs
Browse files

drm/nouveau/therm: reduce stack usage of nouveau_therm_ic_ctor



Before: 1496 bytes
After:   152 bytes

Signed-off-by: default avatarMarcin Slusarz <marcin.slusarz@gmail.com>
Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 07df3043
Loading
Loading
Loading
Loading
+27 −25
Original line number Diff line number Diff line
@@ -53,14 +53,8 @@ probe_monitoring_device(struct nouveau_i2c_port *i2c,
	return true;
}

void
nouveau_therm_ic_ctor(struct nouveau_therm *therm)
{
	struct nouveau_therm_priv *priv = (void *)therm;
	struct nouveau_bios *bios = nouveau_bios(therm);
	struct nouveau_i2c *i2c = nouveau_i2c(therm);
	struct nvbios_extdev_func extdev_entry;
	struct i2c_board_info info[] = {
static struct i2c_board_info
nv_board_infos[] = {
	{ I2C_BOARD_INFO("w83l785ts", 0x2d) },
	{ I2C_BOARD_INFO("w83781d", 0x2d) },
	{ I2C_BOARD_INFO("adt7473", 0x2e) },
@@ -84,6 +78,14 @@ nouveau_therm_ic_ctor(struct nouveau_therm *therm)
	{ }
};

void
nouveau_therm_ic_ctor(struct nouveau_therm *therm)
{
	struct nouveau_therm_priv *priv = (void *)therm;
	struct nouveau_bios *bios = nouveau_bios(therm);
	struct nouveau_i2c *i2c = nouveau_i2c(therm);
	struct nvbios_extdev_func extdev_entry;

	if (!nvbios_extdev_find(bios, NVBIOS_EXTDEV_LM89, &extdev_entry)) {
		struct i2c_board_info board[] = {
			{ I2C_BOARD_INFO("lm90", extdev_entry.addr >> 1) },
@@ -111,6 +113,6 @@ nouveau_therm_ic_ctor(struct nouveau_therm *therm)
	/* The vbios doesn't provide the address of an exisiting monitoring
	   device. Let's try our static list.
	 */
	i2c->identify(i2c, NV_I2C_DEFAULT(0), "monitoring device", info,
		      probe_monitoring_device);
	i2c->identify(i2c, NV_I2C_DEFAULT(0), "monitoring device",
		      nv_board_infos, probe_monitoring_device);
}