device/pnp: Always provide `pnp_unset_and_set_config`
The `pnp_unset_and_set_config` function was only available when building with `ENV_PNP_SIMPLE_DEVICE` set. Add the complementary definition using device pointers, for the sake of completeness. Change-Id: I2a21e635f41f3f786057500fa96a2b3116e30d76 Signed-off-by: Angel Pons <th3fanbus@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/55255 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Máté Kukri <kukri.mate@gmail.com> Reviewed-by: Nico Huber <nico.h@gmx.de> Reviewed-by: Michael Niewöhner <foss@mniewoehner.de>
This commit is contained in:
parent
29bc62475b
commit
bb8d00d8f7
|
@ -47,6 +47,15 @@ u8 pnp_read_config(struct device *dev, u8 reg)
|
|||
return inb(dev->path.pnp.port + 1);
|
||||
}
|
||||
|
||||
void pnp_unset_and_set_config(struct device *dev, u8 reg, u8 unset, u8 set)
|
||||
{
|
||||
outb(reg, dev->path.pnp.port);
|
||||
u8 value = inb(dev->path.pnp.port + 1);
|
||||
value &= ~unset;
|
||||
value |= set;
|
||||
outb(value, dev->path.pnp.port + 1);
|
||||
}
|
||||
|
||||
void pnp_set_logical_device(struct device *dev)
|
||||
{
|
||||
pnp_write_config(dev, 0x07, dev->path.pnp.device & 0xff);
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
/* Primitive PNP resource manipulation */
|
||||
void pnp_write_config(struct device *dev, u8 reg, u8 value);
|
||||
u8 pnp_read_config(struct device *dev, u8 reg);
|
||||
void pnp_unset_and_set_config(struct device *dev, u8 reg, u8 unset, u8 set);
|
||||
void pnp_set_logical_device(struct device *dev);
|
||||
void pnp_set_enable(struct device *dev, int enable);
|
||||
int pnp_read_enable(struct device *dev);
|
||||
|
|
Loading…
Reference in New Issue