pci_write_config_word(dev, off, val);
pci_user_write_config_word(dev, off, val);
pci_write_config(struct kobject *kobj, char *buf, loff_t off, size_t count){	struct pci_dev *dev = to_pci_dev(container_of(kobj,struct device,kobj));	unsigned int size = count;	loff_t init_off = off;	u8 *data = (u8*) buf;	if (off > dev->cfg_size)		return 0;	if (off + count > dev->cfg_size) {		size = dev->cfg_size - off;		count = size;	}		if ((off & 1) && size) {		pci_write_config_byte(dev, off, data[off - init_off]);		off++;		size--;	}		if ((off & 3) && size > 2) {		u16 val = data[off - init_off];		val |= (u16) data[off - init_off + 1] << 8;                pci_write_config_word(dev, off, val);                off += 2;                size -= 2;        }	while (size > 3) {		u32 val = data[off - init_off];		val |= (u32) data[off - init_off + 1] << 8;		val |= (u32) data[off - init_off + 2] << 16;		val |= (u32) data[off - init_off + 3] << 24;		pci_write_config_dword(dev, off, val);		off += 4;		size -= 4;	}		if (size >= 2) {		u16 val = data[off - init_off];		val |= (u16) data[off - init_off + 1] << 8;		pci_write_config_word(dev, off, val);		off += 2;		size -= 2;	}	if (size) {		pci_write_config_byte(dev, off, data[off - init_off]);		off++;		--size;	}	return count;}