diff options
| author | Greg Kroah-Hartman <greg@kroah.com> | 2004-08-22 19:54:01 -0700 |
|---|---|---|
| committer | Greg Kroah-Hartman <greg@kroah.com> | 2004-08-22 19:54:01 -0700 |
| commit | 9c46b04a4e3ecec0e96a188c5e68c10c8dd769d3 (patch) | |
| tree | 3312420dac83ed36178a171c691e21aace0af929 /include/linux | |
| parent | 14729dbe26e736a6cc5479d3acb9e288b56a9a1b (diff) | |
| parent | b289a4b7b91abf6712f751da1694ffff9eb9dbe0 (diff) | |
Merge kroah.com:/home/greg/linux/BK/bleed-2.6
into kroah.com:/home/greg/linux/BK/pci-2.6
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/i2c-algo-pca.h | 17 | ||||
| -rw-r--r-- | include/linux/i2c-id.h | 4 | ||||
| -rw-r--r-- | include/linux/i2c-vid.h | 5 | ||||
| -rw-r--r-- | include/linux/i2c.h | 4 | ||||
| -rw-r--r-- | include/linux/moduleparam.h | 4 | ||||
| -rw-r--r-- | include/linux/pci.h | 22 | ||||
| -rw-r--r-- | include/linux/pci_ids.h | 4 |
7 files changed, 51 insertions, 9 deletions
diff --git a/include/linux/i2c-algo-pca.h b/include/linux/i2c-algo-pca.h new file mode 100644 index 000000000000..941b786c5732 --- /dev/null +++ b/include/linux/i2c-algo-pca.h @@ -0,0 +1,17 @@ +#ifndef _LINUX_I2C_ALGO_PCA_H +#define _LINUX_I2C_ALGO_PCA_H + +struct i2c_algo_pca_data { + int (*get_own) (struct i2c_algo_pca_data *adap); /* Obtain own address */ + int (*get_clock) (struct i2c_algo_pca_data *adap); + void (*write_byte) (struct i2c_algo_pca_data *adap, int reg, int val); + int (*read_byte) (struct i2c_algo_pca_data *adap, int reg); + int (*wait_for_interrupt) (struct i2c_algo_pca_data *adap); +}; + +#define I2C_PCA_ADAP_MAX 16 + +int i2c_pca_add_bus(struct i2c_adapter *); +int i2c_pca_del_bus(struct i2c_adapter *); + +#endif /* _LINUX_I2C_ALGO_PCA_H */ diff --git a/include/linux/i2c-id.h b/include/linux/i2c-id.h index 520fe7220cd3..c75219a37bb5 100644 --- a/include/linux/i2c-id.h +++ b/include/linux/i2c-id.h @@ -194,6 +194,7 @@ #define I2C_ALGO_OCP 0x120000 /* IBM or otherwise On-chip I2C algorithm */ #define I2C_ALGO_BITHS 0x130000 /* enhanced bit style adapters */ #define I2C_ALGO_OCP_IOP3XX 0x140000 /* XSCALE IOP3XX On-chip I2C alg */ +#define I2C_ALGO_PCA 0x150000 /* PCA 9564 style adapters */ #define I2C_ALGO_EXP 0x800000 /* experimental */ @@ -239,6 +240,9 @@ #define I2C_HW_P_ISA 0x01 /* generic ISA Bus inteface card */ #define I2C_HW_P_ELEK 0x02 /* Elektor ISA Bus inteface card */ +/* --- PCA 9564 based algorithms */ +#define I2C_HW_A_ISA 0x00 /* generic ISA Bus interface card */ + /* --- ACPI Embedded controller algorithms */ #define I2C_HW_ACPI_EC 0x00 diff --git a/include/linux/i2c-vid.h b/include/linux/i2c-vid.h index 86ed1178193f..62424092e44e 100644 --- a/include/linux/i2c-vid.h +++ b/include/linux/i2c-vid.h @@ -35,12 +35,15 @@ to avoid floating point in the kernel. */ +int i2c_which_vrm(void); + #define DEFAULT_VRM 82 static inline int vid_from_reg(int val, int vrm) { switch(vrm) { - + case 0: + return 0; case 91: /* VRM 9.1 */ case 90: /* VRM 9.0 */ return(val == 0x1f ? 0 : diff --git a/include/linux/i2c.h b/include/linux/i2c.h index 0c3cf0e2fbca..caac24868d85 100644 --- a/include/linux/i2c.h +++ b/include/linux/i2c.h @@ -566,7 +566,9 @@ union i2c_smbus_data { #define I2C_CLIENT_MODULE_PARM(var,desc) \ static unsigned short var[I2C_CLIENT_MAX_OPTS] = I2C_CLIENT_DEFAULTS; \ - MODULE_PARM(var,I2C_CLIENT_MODPARM); \ + static unsigned int var##_num; \ + /*MODULE_PARM(var,I2C_CLIENT_MODPARM);*/ \ + module_param_array(var, short, var##_num, 0); \ MODULE_PARM_DESC(var,desc) /* This is the one you want to use in your own modules */ diff --git a/include/linux/moduleparam.h b/include/linux/moduleparam.h index 9e799ecc1b43..3b961421c359 100644 --- a/include/linux/moduleparam.h +++ b/include/linux/moduleparam.h @@ -89,6 +89,10 @@ extern int parse_args(const char *name, #define __param_check(name, p, type) \ static inline type *__check_##name(void) { return(p); } +extern int param_set_byte(const char *val, struct kernel_param *kp); +extern int param_get_byte(char *buffer, struct kernel_param *kp); +#define param_check_byte(name, p) __param_check(name, p, unsigned char) + extern int param_set_short(const char *val, struct kernel_param *kp); extern int param_get_short(char *buffer, struct kernel_param *kp); #define param_check_short(name, p) __param_check(name, p, short) diff --git a/include/linux/pci.h b/include/linux/pci.h index 2ce5f957c072..866919694dbc 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h @@ -536,7 +536,7 @@ struct pci_dev { unsigned int is_enabled:1; /* pci_enable_device has been called */ unsigned int is_busmaster:1; /* device is busmaster */ - unsigned int saved_config_space[16]; /* config space saved at suspend time */ + u32 saved_config_space[16]; /* config space saved at suspend time */ #ifdef CONFIG_PCI_NAMES #define PCI_NAME_SIZE 96 #define PCI_NAME_HALF __stringify(43) /* less than half to handle slop */ @@ -1001,17 +1001,27 @@ static inline char *pci_name(struct pci_dev *pdev) */ struct pci_fixup { - int pass; u16 vendor, device; /* You can use PCI_ANY_ID here of course */ void (*hook)(struct pci_dev *dev); }; -extern struct pci_fixup pcibios_fixups[]; +enum pci_fixup_pass { + pci_fixup_header, /* Called immediately after reading configuration header */ + pci_fixup_final, /* Final phase of device fixups */ +}; + +/* Anonymous variables would be nice... */ +#define DECLARE_PCI_FIXUP_HEADER(vendor, device, hook) \ + static struct pci_fixup __pci_fixup_##vendor##device##hook __attribute_used__ \ + __attribute__((__section__(".pci_fixup_header"))) = { \ + vendor, device, hook }; -#define PCI_FIXUP_HEADER 1 /* Called immediately after reading configuration header */ -#define PCI_FIXUP_FINAL 2 /* Final phase of device fixups */ +#define DECLARE_PCI_FIXUP_FINAL(vendor, device, hook) \ + static struct pci_fixup __pci_fixup_##vendor##device##hook __attribute_used__ \ + __attribute__((__section__(".pci_fixup_final"))) = { \ + vendor, device, hook }; -void pci_fixup_device(int pass, struct pci_dev *dev); +void pci_fixup_device(enum pci_fixup_pass pass, struct pci_dev *dev); extern int pci_pci_problems; #define PCIPCI_FAIL 1 diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index 0ca0b5068bc2..4da96fec52a0 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h @@ -2229,7 +2229,9 @@ #define PCI_DEVICE_ID_INTEL_82451NX 0x84ca #define PCI_DEVICE_ID_INTEL_82454NX 0x84cb #define PCI_DEVICE_ID_INTEL_84460GX 0x84ea -#define PCI_DEVICE_ID_INTEL_IXP4XX 0x8500 +#define PCI_DEVICE_ID_INTEL_IXP4XX 0x8500 +#define PCI_DEVICE_ID_INTEL_IXP2400 0x9001 +#define PCI_DEVICE_ID_INTEL_IXP2800 0x9004 #define PCI_VENDOR_ID_COMPUTONE 0x8e0e #define PCI_DEVICE_ID_COMPUTONE_IP2EX 0x0291 |
