superio/ite: pass the chip-specific ops struct to pnp_enable_devices
Pass the address of the chip-specific ops struct instead of the one of the generic pnp_ops struct to the PNP device enable function. This allows the removal of the LDN-specific ops overrides which is also done in this patch. Change-Id: I5f03a4064778c419f4b9c50e70db1296addf6c9e Signed-off-by: Felix Held <felix-coreboot@felixheld.de> Reviewed-on: https://review.coreboot.org/23006 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin Roth <martinroth@google.com>
This commit is contained in:
parent
3a59174cf0
commit
c40275bce0
|
@ -60,20 +60,21 @@ static struct device_operations ops = {
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct pnp_info pnp_dev_info[] = {
|
static struct pnp_info pnp_dev_info[] = {
|
||||||
{ &ops, IT8623E_FDC, PNP_IO0 | PNP_IRQ0 | PNP_DRQ0, 0x0ff8, },
|
{ NULL, IT8623E_FDC, PNP_IO0 | PNP_IRQ0 | PNP_DRQ0, 0x0ff8, },
|
||||||
{ &ops, IT8623E_SP1, PNP_IO0 | PNP_IRQ0, 0x0ff8, },
|
{ NULL, IT8623E_SP1, PNP_IO0 | PNP_IRQ0, 0x0ff8, },
|
||||||
{ &ops, IT8623E_SP2, PNP_IO0 | PNP_IRQ0, 0x0ff8, },
|
{ NULL, IT8623E_SP2, PNP_IO0 | PNP_IRQ0, 0x0ff8, },
|
||||||
{ &ops, IT8623E_PP, PNP_IO0 | PNP_IO1 | PNP_IRQ0 | PNP_DRQ0, 0x0ff8, 0x0ff8, },
|
{ NULL, IT8623E_PP, PNP_IO0 | PNP_IO1 | PNP_IRQ0 | PNP_DRQ0,
|
||||||
{ &ops, IT8623E_EC, PNP_IO0 | PNP_IO1 | PNP_IRQ0, 0x0ff0, 0x0ff0, },
|
0x0ff8, 0x0ff8, },
|
||||||
{ &ops, IT8623E_KBCK, PNP_IO0 | PNP_IO1 | PNP_IRQ0, 0x0fff, 0x0fff, },
|
{ NULL, IT8623E_EC, PNP_IO0 | PNP_IO1 | PNP_IRQ0, 0x0ff0, 0x0ff0, },
|
||||||
{ &ops, IT8623E_KBCM, PNP_IRQ0, },
|
{ NULL, IT8623E_KBCK, PNP_IO0 | PNP_IO1 | PNP_IRQ0, 0x0fff, 0x0fff, },
|
||||||
{ &ops, IT8623E_GPIO, PNP_IO0 | PNP_IO1 | PNP_IO2 | PNP_IRQ0, 0x0fff, 0x0fe0, 0x0fff, },
|
{ NULL, IT8623E_KBCM, PNP_IRQ0, },
|
||||||
|
{ NULL, IT8623E_GPIO, PNP_IO0 | PNP_IO1 | PNP_IO2 | PNP_IRQ0,
|
||||||
|
0x0fff, 0x0fe0, 0x0fff, },
|
||||||
};
|
};
|
||||||
|
|
||||||
static void enable_dev(struct device *dev)
|
static void enable_dev(struct device *dev)
|
||||||
{
|
{
|
||||||
pnp_enable_devices(dev, &ops,
|
pnp_enable_devices(dev, &ops, ARRAY_SIZE(pnp_dev_info), pnp_dev_info);
|
||||||
ARRAY_SIZE(pnp_dev_info), pnp_dev_info);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
struct chip_operations superio_ite_it8623e_ops = {
|
struct chip_operations superio_ite_it8623e_ops = {
|
||||||
|
|
|
@ -51,15 +51,15 @@ static struct device_operations ops = {
|
||||||
|
|
||||||
/* TODO: FDC, PP, KBCM. */
|
/* TODO: FDC, PP, KBCM. */
|
||||||
static struct pnp_info pnp_dev_info[] = {
|
static struct pnp_info pnp_dev_info[] = {
|
||||||
{ &ops, IT8671F_SP1, PNP_IO0 | PNP_IRQ0, 0x07f8, },
|
{ NULL, IT8671F_SP1, PNP_IO0 | PNP_IRQ0, 0x07f8, },
|
||||||
{ &ops, IT8671F_SP2, PNP_IO0 | PNP_IRQ0 | PNP_DRQ0 | PNP_DRQ1, 0x07f8, },
|
{ NULL, IT8671F_SP2, PNP_IO0 | PNP_IRQ0 | PNP_DRQ0 | PNP_DRQ1,
|
||||||
{ &ops, IT8671F_KBCK, PNP_IO0 | PNP_IO1 | PNP_IRQ0, 0x07f8, 0x07f8, },
|
0x07f8, },
|
||||||
|
{ NULL, IT8671F_KBCK, PNP_IO0 | PNP_IO1 | PNP_IRQ0, 0x07f8, 0x07f8, },
|
||||||
};
|
};
|
||||||
|
|
||||||
static void enable_dev(struct device *dev)
|
static void enable_dev(struct device *dev)
|
||||||
{
|
{
|
||||||
pnp_enable_devices(dev, &pnp_ops,
|
pnp_enable_devices(dev, &ops, ARRAY_SIZE(pnp_dev_info), pnp_dev_info);
|
||||||
ARRAY_SIZE(pnp_dev_info), pnp_dev_info);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
struct chip_operations superio_ite_it8671f_ops = {
|
struct chip_operations superio_ite_it8671f_ops = {
|
||||||
|
|
|
@ -62,23 +62,23 @@ static struct device_operations ops = {
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct pnp_info pnp_dev_info[] = {
|
static struct pnp_info pnp_dev_info[] = {
|
||||||
{ &ops, IT8712F_FDC, PNP_IO0 | PNP_IRQ0 | PNP_DRQ0, 0x0ff8, },
|
{ NULL, IT8712F_FDC, PNP_IO0 | PNP_IRQ0 | PNP_DRQ0, 0x0ff8, },
|
||||||
{ &ops, IT8712F_SP1, PNP_IO0 | PNP_IRQ0, 0x0ff8, },
|
{ NULL, IT8712F_SP1, PNP_IO0 | PNP_IRQ0, 0x0ff8, },
|
||||||
{ &ops, IT8712F_SP2, PNP_IO0 | PNP_IRQ0, 0x0ff8, },
|
{ NULL, IT8712F_SP2, PNP_IO0 | PNP_IRQ0, 0x0ff8, },
|
||||||
{ &ops, IT8712F_PP, PNP_IO0 | PNP_IRQ0 | PNP_DRQ0, 0x0ffc, },
|
{ NULL, IT8712F_PP, PNP_IO0 | PNP_IRQ0 | PNP_DRQ0, 0x0ffc, },
|
||||||
{ &ops, IT8712F_EC, PNP_IO0 | PNP_IO1 | PNP_IRQ0, 0x0ff8, 0x0ff8, },
|
{ NULL, IT8712F_EC, PNP_IO0 | PNP_IO1 | PNP_IRQ0, 0x0ff8, 0x0ff8, },
|
||||||
{ &ops, IT8712F_KBCK, PNP_IO0 | PNP_IO1 | PNP_IRQ0, 0x0fff, 0x0fff, },
|
{ NULL, IT8712F_KBCK, PNP_IO0 | PNP_IO1 | PNP_IRQ0, 0x0fff, 0x0fff, },
|
||||||
{ &ops, IT8712F_KBCM, PNP_IRQ0, },
|
{ NULL, IT8712F_KBCM, PNP_IRQ0, },
|
||||||
{ &ops, IT8712F_GPIO, PNP_IO0 | PNP_IO1 | PNP_IO2 | PNP_IRQ0, 0x0fff, 0x0ff8, 0x0ff8, },
|
{ NULL, IT8712F_GPIO, PNP_IO0 | PNP_IO1 | PNP_IO2 | PNP_IRQ0,
|
||||||
{ &ops, IT8712F_MIDI, PNP_IO0 | PNP_IRQ0, 0x0ff8, },
|
0x0fff, 0x0ff8, 0x0ff8, },
|
||||||
{ &ops, IT8712F_GAME, PNP_IO0, 0x0fff, },
|
{ NULL, IT8712F_MIDI, PNP_IO0 | PNP_IRQ0, 0x0ff8, },
|
||||||
{ &ops, IT8712F_IR, PNP_IO0 | PNP_IRQ0, 0x0ff8, },
|
{ NULL, IT8712F_GAME, PNP_IO0, 0x0fff, },
|
||||||
|
{ NULL, IT8712F_IR, PNP_IO0 | PNP_IRQ0, 0x0ff8, },
|
||||||
};
|
};
|
||||||
|
|
||||||
static void enable_dev(struct device *dev)
|
static void enable_dev(struct device *dev)
|
||||||
{
|
{
|
||||||
pnp_enable_devices(dev, &pnp_ops,
|
pnp_enable_devices(dev, &ops, ARRAY_SIZE(pnp_dev_info), pnp_dev_info);
|
||||||
ARRAY_SIZE(pnp_dev_info), pnp_dev_info);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
struct chip_operations superio_ite_it8712f_ops = {
|
struct chip_operations superio_ite_it8712f_ops = {
|
||||||
|
|
|
@ -75,17 +75,17 @@ static struct device_operations ops = {
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct pnp_info pnp_dev_info[] = {
|
static struct pnp_info pnp_dev_info[] = {
|
||||||
{ &ops, IT8716F_FDC, PNP_IO0 | PNP_IRQ0 | PNP_DRQ0, 0x07f8, },
|
{ NULL, IT8716F_FDC, PNP_IO0 | PNP_IRQ0 | PNP_DRQ0, 0x07f8, },
|
||||||
{ &ops, IT8716F_SP1, PNP_IO0 | PNP_IRQ0, 0x07f8, },
|
{ NULL, IT8716F_SP1, PNP_IO0 | PNP_IRQ0, 0x07f8, },
|
||||||
{ &ops, IT8716F_SP2, PNP_IO0 | PNP_IRQ0, 0x07f8, },
|
{ NULL, IT8716F_SP2, PNP_IO0 | PNP_IRQ0, 0x07f8, },
|
||||||
{ &ops, IT8716F_PP, PNP_IO0 | PNP_IRQ0 | PNP_DRQ0, 0x07f8, },
|
{ NULL, IT8716F_PP, PNP_IO0 | PNP_IRQ0 | PNP_DRQ0, 0x07f8, },
|
||||||
{ &ops, IT8716F_EC, PNP_IO0 | PNP_IO1 | PNP_IRQ0, 0x07f8, 0x07f8, },
|
{ NULL, IT8716F_EC, PNP_IO0 | PNP_IO1 | PNP_IRQ0, 0x07f8, 0x07f8, },
|
||||||
{ &ops, IT8716F_KBCK, PNP_IO0 | PNP_IO1 | PNP_IRQ0, 0x07ff, 0x07ff, },
|
{ NULL, IT8716F_KBCK, PNP_IO0 | PNP_IO1 | PNP_IRQ0, 0x07ff, 0x07ff, },
|
||||||
{ &ops, IT8716F_KBCM, PNP_IRQ0, },
|
{ NULL, IT8716F_KBCM, PNP_IRQ0, },
|
||||||
{ &ops, IT8716F_GPIO, PNP_IO1 | PNP_IO2, 0, 0x07f8, 0x07f8, },
|
{ NULL, IT8716F_GPIO, PNP_IO1 | PNP_IO2, 0, 0x07f8, 0x07f8, },
|
||||||
{ &ops, IT8716F_MIDI, PNP_IO0 | PNP_IRQ0, 0x07fe, },
|
{ NULL, IT8716F_MIDI, PNP_IO0 | PNP_IRQ0, 0x07fe, },
|
||||||
{ &ops, IT8716F_GAME, PNP_IO0, 0x07ff, },
|
{ NULL, IT8716F_GAME, PNP_IO0, 0x07ff, },
|
||||||
{ &ops, IT8716F_IR, },
|
{ NULL, IT8716F_IR, },
|
||||||
};
|
};
|
||||||
|
|
||||||
static void enable_dev(struct device *dev)
|
static void enable_dev(struct device *dev)
|
||||||
|
|
|
@ -65,25 +65,24 @@ static struct device_operations ops = {
|
||||||
|
|
||||||
/* TODO: IR. */
|
/* TODO: IR. */
|
||||||
static struct pnp_info pnp_dev_info[] = {
|
static struct pnp_info pnp_dev_info[] = {
|
||||||
{ &ops, IT8718F_FDC, PNP_IO0 | PNP_IRQ0 | PNP_DRQ0
|
{ NULL, IT8718F_FDC, PNP_IO0 | PNP_IRQ0 | PNP_DRQ0
|
||||||
| PNP_MSC0 | PNP_MSC1, 0x0ff8, },
|
| PNP_MSC0 | PNP_MSC1, 0x0ff8, },
|
||||||
{ &ops, IT8718F_SP1, PNP_IO0 | PNP_IRQ0, 0x07f8, },
|
{ NULL, IT8718F_SP1, PNP_IO0 | PNP_IRQ0, 0x07f8, },
|
||||||
{ &ops, IT8718F_SP2, PNP_IO0 | PNP_IRQ0, 0x07f8, },
|
{ NULL, IT8718F_SP2, PNP_IO0 | PNP_IRQ0, 0x07f8, },
|
||||||
{ &ops, IT8718F_EC, PNP_IO0 | PNP_IO1 | PNP_IRQ0
|
{ NULL, IT8718F_EC, PNP_IO0 | PNP_IO1 | PNP_IRQ0
|
||||||
| PNP_MSC0 | PNP_MSC1 | PNP_MSC2 | PNP_MSC3
|
| PNP_MSC0 | PNP_MSC1 | PNP_MSC2 | PNP_MSC3
|
||||||
| PNP_MSC4 | PNP_MSC5 | PNP_MSC6,
|
| PNP_MSC4 | PNP_MSC5 | PNP_MSC6,
|
||||||
0x0ff8, 0x0ff8, },
|
0x0ff8, 0x0ff8, },
|
||||||
{ &ops, IT8718F_KBCK, PNP_IO0 | PNP_IO1 | PNP_IRQ0
|
{ NULL, IT8718F_KBCK, PNP_IO0 | PNP_IO1 | PNP_IRQ0
|
||||||
| PNP_MSC0, 0x07f8, 0x07f8, },
|
| PNP_MSC0, 0x07f8, 0x07f8, },
|
||||||
{ &ops, IT8718F_KBCM, PNP_IRQ0 | PNP_MSC0, },
|
{ NULL, IT8718F_KBCM, PNP_IRQ0 | PNP_MSC0, },
|
||||||
{ &ops, IT8718F_PP, PNP_IO0 | PNP_IO1 | PNP_IRQ0
|
{ NULL, IT8718F_PP, PNP_IO0 | PNP_IO1 | PNP_IRQ0
|
||||||
| PNP_DRQ0 | PNP_MSC0, 0x0ff8, 0x0ff8, },
|
| PNP_DRQ0 | PNP_MSC0, 0x0ff8, 0x0ff8, },
|
||||||
};
|
};
|
||||||
|
|
||||||
static void enable_dev(struct device *dev)
|
static void enable_dev(struct device *dev)
|
||||||
{
|
{
|
||||||
pnp_enable_devices(dev, &pnp_ops,
|
pnp_enable_devices(dev, &ops, ARRAY_SIZE(pnp_dev_info), pnp_dev_info);
|
||||||
ARRAY_SIZE(pnp_dev_info), pnp_dev_info);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
struct chip_operations superio_ite_it8718f_ops = {
|
struct chip_operations superio_ite_it8718f_ops = {
|
||||||
|
|
|
@ -82,41 +82,40 @@ static struct device_operations ops = {
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct pnp_info pnp_dev_info[] = {
|
static struct pnp_info pnp_dev_info[] = {
|
||||||
{ &ops, IT8720F_FDC,
|
{ NULL, IT8720F_FDC,
|
||||||
PNP_IO0 | PNP_IRQ0 | PNP_DRQ0 | PNP_MSC0 | PNP_MSC1,
|
PNP_IO0 | PNP_IRQ0 | PNP_DRQ0 | PNP_MSC0 | PNP_MSC1,
|
||||||
0x0ff8, },
|
0x0ff8, },
|
||||||
{ &ops, IT8720F_SP1,
|
{ NULL, IT8720F_SP1,
|
||||||
PNP_IO0 | PNP_IRQ0 | PNP_MSC0 | PNP_MSC1,
|
PNP_IO0 | PNP_IRQ0 | PNP_MSC0 | PNP_MSC1,
|
||||||
0x0ff8, },
|
0x0ff8, },
|
||||||
{ &ops, IT8720F_SP2,
|
{ NULL, IT8720F_SP2,
|
||||||
PNP_IO0 | PNP_IRQ0 | PNP_MSC0 | PNP_MSC1,
|
PNP_IO0 | PNP_IRQ0 | PNP_MSC0 | PNP_MSC1,
|
||||||
0x0ff8, },
|
0x0ff8, },
|
||||||
{ &ops, IT8720F_PP,
|
{ NULL, IT8720F_PP,
|
||||||
PNP_IO0 | PNP_IO1 | PNP_IRQ0 | PNP_DRQ0 | PNP_MSC0,
|
PNP_IO0 | PNP_IO1 | PNP_IRQ0 | PNP_DRQ0 | PNP_MSC0,
|
||||||
0x0ff8, 0x0ffc, },
|
0x0ff8, 0x0ffc, },
|
||||||
{ &ops, IT8720F_EC,
|
{ NULL, IT8720F_EC,
|
||||||
PNP_IO0 | PNP_IO1 | PNP_IRQ0 | PNP_MSC0 | PNP_MSC1 | PNP_MSC2 |
|
PNP_IO0 | PNP_IO1 | PNP_IRQ0 | PNP_MSC0 | PNP_MSC1 | PNP_MSC2 |
|
||||||
PNP_MSC3 | PNP_MSC4 | PNP_MSC5 | PNP_MSC6,
|
PNP_MSC3 | PNP_MSC4 | PNP_MSC5 | PNP_MSC6,
|
||||||
0x0ff8, 0x0ffc, },
|
0x0ff8, 0x0ffc, },
|
||||||
{ &ops, IT8720F_KBCK,
|
{ NULL, IT8720F_KBCK,
|
||||||
PNP_IO0 | PNP_IO1 | PNP_IRQ0 | PNP_MSC0,
|
PNP_IO0 | PNP_IO1 | PNP_IRQ0 | PNP_MSC0,
|
||||||
0x0fff, 0x0fff, },
|
0x0fff, 0x0fff, },
|
||||||
{ &ops, IT8720F_KBCM,
|
{ NULL, IT8720F_KBCM,
|
||||||
PNP_IRQ0 | PNP_MSC0, },
|
PNP_IRQ0 | PNP_MSC0, },
|
||||||
{ &ops, IT8720F_GPIO,
|
{ NULL, IT8720F_GPIO,
|
||||||
PNP_IO0 | PNP_IO1 | PNP_IO2 | PNP_MSC0 | PNP_MSC1 | PNP_MSC2 |
|
PNP_IO0 | PNP_IO1 | PNP_IO2 | PNP_MSC0 | PNP_MSC1 | PNP_MSC2 |
|
||||||
PNP_MSC3 | PNP_MSC4 | PNP_MSC5 | PNP_MSC6 | PNP_MSC7 |
|
PNP_MSC3 | PNP_MSC4 | PNP_MSC5 | PNP_MSC6 | PNP_MSC7 |
|
||||||
PNP_MSC8 | PNP_MSC9 | PNP_MSCA | PNP_MSCB | PNP_MSCD | PNP_MSCE,
|
PNP_MSC8 | PNP_MSC9 | PNP_MSCA | PNP_MSCB | PNP_MSCD | PNP_MSCE,
|
||||||
0x0ff8, 0x0ff8, 0x0ff8, },
|
0x0ff8, 0x0ff8, 0x0ff8, },
|
||||||
{ &ops, IT8720F_CIR,
|
{ NULL, IT8720F_CIR,
|
||||||
PNP_IO0 | PNP_IRQ0 | PNP_MSC0,
|
PNP_IO0 | PNP_IRQ0 | PNP_MSC0,
|
||||||
0x0ff8, },
|
0x0ff8, },
|
||||||
};
|
};
|
||||||
|
|
||||||
static void enable_dev(struct device *dev)
|
static void enable_dev(struct device *dev)
|
||||||
{
|
{
|
||||||
pnp_enable_devices(dev, &pnp_ops,
|
pnp_enable_devices(dev, &ops, ARRAY_SIZE(pnp_dev_info), pnp_dev_info);
|
||||||
ARRAY_SIZE(pnp_dev_info), pnp_dev_info);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
struct chip_operations superio_ite_it8720f_ops = {
|
struct chip_operations superio_ite_it8720f_ops = {
|
||||||
|
|
|
@ -56,14 +56,15 @@ static struct device_operations ops = {
|
||||||
|
|
||||||
/* TODO: FDC, PP, EC, KBCM, IR. */
|
/* TODO: FDC, PP, EC, KBCM, IR. */
|
||||||
static struct pnp_info pnp_dev_info[] = {
|
static struct pnp_info pnp_dev_info[] = {
|
||||||
{ &ops, IT8721F_SP1, PNP_IO0 | PNP_IRQ0, 0x07f8, },
|
{ NULL, IT8721F_SP1, PNP_IO0 | PNP_IRQ0, 0x07f8, },
|
||||||
{ &ops, IT8721F_SP2, PNP_IO0 | PNP_IRQ0 | PNP_DRQ0 | PNP_DRQ1, 0x07f8, },
|
{ NULL, IT8721F_SP2, PNP_IO0 | PNP_IRQ0 | PNP_DRQ0 | PNP_DRQ1,
|
||||||
{ &ops, IT8721F_KBCK, PNP_IO0 | PNP_IO1 | PNP_IRQ0, 0x07f8, 0x07f8, },
|
0x07f8, },
|
||||||
|
{ NULL, IT8721F_KBCK, PNP_IO0 | PNP_IO1 | PNP_IRQ0, 0x07f8, 0x07f8, },
|
||||||
};
|
};
|
||||||
|
|
||||||
static void enable_dev(struct device *dev)
|
static void enable_dev(struct device *dev)
|
||||||
{
|
{
|
||||||
pnp_enable_devices(dev, &pnp_ops, ARRAY_SIZE(pnp_dev_info), pnp_dev_info);
|
pnp_enable_devices(dev, &ops, ARRAY_SIZE(pnp_dev_info), pnp_dev_info);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct chip_operations superio_ite_it8721f_ops = {
|
struct chip_operations superio_ite_it8721f_ops = {
|
||||||
|
|
|
@ -59,15 +59,16 @@ static struct device_operations ops = {
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct pnp_info pnp_dev_info[] = {
|
static struct pnp_info pnp_dev_info[] = {
|
||||||
{ &ops, IT8728F_FDC, PNP_IO0 | PNP_IRQ0 | PNP_DRQ0, 0x0ff8, },
|
{ NULL, IT8728F_FDC, PNP_IO0 | PNP_IRQ0 | PNP_DRQ0, 0x0ff8, },
|
||||||
{ &ops, IT8728F_SP1, PNP_IO0 | PNP_IRQ0, 0x0ff8, },
|
{ NULL, IT8728F_SP1, PNP_IO0 | PNP_IRQ0, 0x0ff8, },
|
||||||
{ &ops, IT8728F_SP2, PNP_IO0 | PNP_IRQ0, 0x0ff8, },
|
{ NULL, IT8728F_SP2, PNP_IO0 | PNP_IRQ0, 0x0ff8, },
|
||||||
{ &ops, IT8728F_PP, PNP_IO0 | PNP_IRQ0 | PNP_DRQ0, 0x0ffc, },
|
{ NULL, IT8728F_PP, PNP_IO0 | PNP_IRQ0 | PNP_DRQ0, 0x0ffc, },
|
||||||
{ &ops, IT8728F_EC, PNP_IO0 | PNP_IO1 | PNP_IRQ0, 0x0ff8, 0x0ff8, },
|
{ NULL, IT8728F_EC, PNP_IO0 | PNP_IO1 | PNP_IRQ0, 0x0ff8, 0x0ff8, },
|
||||||
{ &ops, IT8728F_KBCK, PNP_IO0 | PNP_IO1 | PNP_IRQ0, 0x0fff, 0x0fff, },
|
{ NULL, IT8728F_KBCK, PNP_IO0 | PNP_IO1 | PNP_IRQ0, 0x0fff, 0x0fff, },
|
||||||
{ &ops, IT8728F_KBCM, PNP_IRQ0, },
|
{ NULL, IT8728F_KBCM, PNP_IRQ0, },
|
||||||
{ &ops, IT8728F_GPIO, PNP_IO0 | PNP_IO1 | PNP_IO2 | PNP_IRQ0, 0x0fff, 0x0ff8, 0x0ff8, },
|
{ NULL, IT8728F_GPIO, PNP_IO0 | PNP_IO1 | PNP_IO2 | PNP_IRQ0,
|
||||||
{ &ops, IT8728F_IR, PNP_IO0 | PNP_IRQ0, 0x0ff8, },
|
0x0fff, 0x0ff8, 0x0ff8, },
|
||||||
|
{ NULL, IT8728F_IR, PNP_IO0 | PNP_IRQ0, 0x0ff8, },
|
||||||
};
|
};
|
||||||
|
|
||||||
static void enable_dev(struct device *dev)
|
static void enable_dev(struct device *dev)
|
||||||
|
|
|
@ -267,29 +267,28 @@ static struct device_operations ops = {
|
||||||
|
|
||||||
static struct pnp_info pnp_dev_info[] = {
|
static struct pnp_info pnp_dev_info[] = {
|
||||||
/* Floppy Disk Controller */
|
/* Floppy Disk Controller */
|
||||||
{ &ops, IT8772F_FDC, PNP_IO0 | PNP_IRQ0, 0x0ff8, },
|
{ NULL, IT8772F_FDC, PNP_IO0 | PNP_IRQ0, 0x0ff8, },
|
||||||
/* Serial Port 1 */
|
/* Serial Port 1 */
|
||||||
{ &ops, IT8772F_SP1, PNP_IO0 | PNP_IRQ0, 0x0ff8, },
|
{ NULL, IT8772F_SP1, PNP_IO0 | PNP_IRQ0, 0x0ff8, },
|
||||||
/* Environmental Controller */
|
/* Environmental Controller */
|
||||||
{ &ops, IT8772F_EC, PNP_IO0 | PNP_IO1 | PNP_IRQ0 |
|
{ NULL, IT8772F_EC, PNP_IO0 | PNP_IO1 | PNP_IRQ0 |
|
||||||
PNP_MSC4 | PNP_MSCA,
|
PNP_MSC4 | PNP_MSCA,
|
||||||
0x0ff8, 0x0ffc, },
|
0x0ff8, 0x0ffc, },
|
||||||
/* KBC Keyboard */
|
/* KBC Keyboard */
|
||||||
{ &ops, IT8772F_KBCK, PNP_IO0 | PNP_IO1 | PNP_IRQ0,
|
{ NULL, IT8772F_KBCK, PNP_IO0 | PNP_IO1 | PNP_IRQ0,
|
||||||
0x0fff, 0x0fff, },
|
0x0fff, 0x0fff, },
|
||||||
/* KBC Mouse */
|
/* KBC Mouse */
|
||||||
{ &ops, IT8772F_KBCM, PNP_IRQ0, },
|
{ NULL, IT8772F_KBCM, PNP_IRQ0, },
|
||||||
/* 27 GPIOs */
|
/* 27 GPIOs */
|
||||||
{ &ops, IT8772F_GPIO, PNP_IO0 | PNP_IO1,
|
{ NULL, IT8772F_GPIO, PNP_IO0 | PNP_IO1,
|
||||||
0x0fff, 0x0ff8, },
|
0x0fff, 0x0ff8, },
|
||||||
/* Infrared */
|
/* Infrared */
|
||||||
{ &ops, IT8772F_IR, PNP_IO0 | PNP_IRQ0, 0x0ff8, },
|
{ NULL, IT8772F_IR, PNP_IO0 | PNP_IRQ0, 0x0ff8, },
|
||||||
};
|
};
|
||||||
|
|
||||||
static void enable_dev(struct device *dev)
|
static void enable_dev(struct device *dev)
|
||||||
{
|
{
|
||||||
pnp_enable_devices(dev, &pnp_ops,
|
pnp_enable_devices(dev, &ops, ARRAY_SIZE(pnp_dev_info), pnp_dev_info);
|
||||||
ARRAY_SIZE(pnp_dev_info), pnp_dev_info);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
struct chip_operations superio_ite_it8772f_ops = {
|
struct chip_operations superio_ite_it8772f_ops = {
|
||||||
|
|
|
@ -58,48 +58,47 @@ static struct device_operations ops = {
|
||||||
|
|
||||||
static struct pnp_info pnp_dev_info[] = {
|
static struct pnp_info pnp_dev_info[] = {
|
||||||
/* Floppy Disk Controller */
|
/* Floppy Disk Controller */
|
||||||
{ &ops, IT8783EF_FDC, PNP_IO0 | PNP_IRQ0 | PNP_MSC0 | PNP_MSC1,
|
{ NULL, IT8783EF_FDC, PNP_IO0 | PNP_IRQ0 | PNP_MSC0 | PNP_MSC1,
|
||||||
0x0ff8, },
|
0x0ff8, },
|
||||||
/* Serial Port 1 */
|
/* Serial Port 1 */
|
||||||
{ &ops, IT8783EF_SP1, PNP_IO0 | PNP_IRQ0 | PNP_MSC0, 0x0ff8, },
|
{ NULL, IT8783EF_SP1, PNP_IO0 | PNP_IRQ0 | PNP_MSC0, 0x0ff8, },
|
||||||
/* Serial Port 2 */
|
/* Serial Port 2 */
|
||||||
{ &ops, IT8783EF_SP2, PNP_IO0 | PNP_IRQ0 | PNP_MSC0, 0x0ff8, },
|
{ NULL, IT8783EF_SP2, PNP_IO0 | PNP_IRQ0 | PNP_MSC0, 0x0ff8, },
|
||||||
/* Printer Port */
|
/* Printer Port */
|
||||||
{ &ops, IT8783EF_PP, PNP_IO0 | PNP_IO1 | PNP_IRQ0 | PNP_DRQ0 |
|
{ NULL, IT8783EF_PP, PNP_IO0 | PNP_IO1 | PNP_IRQ0 | PNP_DRQ0 |
|
||||||
PNP_MSC0,
|
PNP_MSC0,
|
||||||
0x0ffc, 0x0ffc, },
|
0x0ffc, 0x0ffc, },
|
||||||
/* Environmental Controller */
|
/* Environmental Controller */
|
||||||
{ &ops, IT8783EF_EC, PNP_IO0 | PNP_IO1 | PNP_IRQ0 | PNP_MSC0 |
|
{ NULL, IT8783EF_EC, PNP_IO0 | PNP_IO1 | PNP_IRQ0 | PNP_MSC0 |
|
||||||
PNP_MSC1 | PNP_MSC2 | PNP_MSC3 | PNP_MSC4 |
|
PNP_MSC1 | PNP_MSC2 | PNP_MSC3 | PNP_MSC4 |
|
||||||
PNP_MSC5 | PNP_MSC6 | PNP_MSC7,
|
PNP_MSC5 | PNP_MSC6 | PNP_MSC7,
|
||||||
0x0ff8, 0x0ff8, },
|
0x0ff8, 0x0ff8, },
|
||||||
/* KBC Keyboard */
|
/* KBC Keyboard */
|
||||||
{ &ops, IT8783EF_KBCK, PNP_IO0 | PNP_IO1 | PNP_IRQ0 | PNP_MSC0,
|
{ NULL, IT8783EF_KBCK, PNP_IO0 | PNP_IO1 | PNP_IRQ0 | PNP_MSC0,
|
||||||
0x0fff, 0x0fff, },
|
0x0fff, 0x0fff, },
|
||||||
/* KBC Mouse */
|
/* KBC Mouse */
|
||||||
{ &ops, IT8783EF_KBCM, PNP_IRQ0 | PNP_MSC0, },
|
{ NULL, IT8783EF_KBCM, PNP_IRQ0 | PNP_MSC0, },
|
||||||
/* GPIO */
|
/* GPIO */
|
||||||
{ &ops, IT8783EF_GPIO, PNP_IO0 | PNP_IO1 | PNP_IO2 | PNP_IRQ0 |
|
{ NULL, IT8783EF_GPIO, PNP_IO0 | PNP_IO1 | PNP_IO2 | PNP_IRQ0 |
|
||||||
PNP_MSC0 | PNP_MSC1 | PNP_MSC2 | PNP_MSC3 |
|
PNP_MSC0 | PNP_MSC1 | PNP_MSC2 | PNP_MSC3 |
|
||||||
PNP_MSC4 | PNP_MSC5 | PNP_MSC6 | PNP_MSC7 |
|
PNP_MSC4 | PNP_MSC5 | PNP_MSC6 | PNP_MSC7 |
|
||||||
PNP_MSC8 | PNP_MSC9 | PNP_MSCA | PNP_MSCB,
|
PNP_MSC8 | PNP_MSC9 | PNP_MSCA | PNP_MSCB,
|
||||||
0x0ffc, 0x0fff, 0x0ff8, },
|
0x0ffc, 0x0fff, 0x0ff8, },
|
||||||
/* Serial Port 3 */
|
/* Serial Port 3 */
|
||||||
{ &ops, IT8783EF_SP3, PNP_IO0 | PNP_IRQ0 | PNP_MSC0, 0x0ff8, },
|
{ NULL, IT8783EF_SP3, PNP_IO0 | PNP_IRQ0 | PNP_MSC0, 0x0ff8, },
|
||||||
/* Serial Port 4 */
|
/* Serial Port 4 */
|
||||||
{ &ops, IT8783EF_SP4, PNP_IO0 | PNP_IRQ0 | PNP_MSC0, 0x0ff8, },
|
{ NULL, IT8783EF_SP4, PNP_IO0 | PNP_IRQ0 | PNP_MSC0, 0x0ff8, },
|
||||||
/* Serial Port 5 */
|
/* Serial Port 5 */
|
||||||
{ &ops, IT8783EF_SP5, PNP_IO0 | PNP_IRQ0 | PNP_MSC0, 0x0ff8, },
|
{ NULL, IT8783EF_SP5, PNP_IO0 | PNP_IRQ0 | PNP_MSC0, 0x0ff8, },
|
||||||
/* Serial Port 6 */
|
/* Serial Port 6 */
|
||||||
{ &ops, IT8783EF_SP6, PNP_IO0 | PNP_IRQ0 | PNP_MSC0, 0x0ff8, },
|
{ NULL, IT8783EF_SP6, PNP_IO0 | PNP_IRQ0 | PNP_MSC0, 0x0ff8, },
|
||||||
/* Consumer Infrared */
|
/* Consumer Infrared */
|
||||||
{ &ops, IT8783EF_CIR, PNP_IO0 | PNP_IRQ0 | PNP_MSC0, 0x0ff8, },
|
{ NULL, IT8783EF_CIR, PNP_IO0 | PNP_IRQ0 | PNP_MSC0, 0x0ff8, },
|
||||||
};
|
};
|
||||||
|
|
||||||
static void enable_dev(struct device *dev)
|
static void enable_dev(struct device *dev)
|
||||||
{
|
{
|
||||||
pnp_enable_devices(dev, &pnp_ops,
|
pnp_enable_devices(dev, &ops, ARRAY_SIZE(pnp_dev_info), pnp_dev_info);
|
||||||
ARRAY_SIZE(pnp_dev_info), pnp_dev_info);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
struct chip_operations superio_ite_it8783ef_ops = {
|
struct chip_operations superio_ite_it8783ef_ops = {
|
||||||
|
|
Loading…
Reference in New Issue