x86/cleanups for v4.8
Linus,
Please pull the latest x86-cleanups-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-cleanups-for-linus
# HEAD: cf2cf0f50c14e86e04cda2c684357eed77922666 lguest: Read offset of device_cap later
Three small cleanups.
Thanks,
Ingo
------------------>
Linus Walleij (1):
x86: Do away with ARCH_[WANT_OPTIONAL|REQUIRE]_GPIOLIB
Paul Bolle (2):
lguest: Read length of device_cap later
lguest: Read offset of device_cap later
arch/x86/Kconfig | 3 +-- arch/x86/lguest/boot.c | 17 +++++------------ 2 files changed, 6 insertions(+), 14 deletions(-)
arch/x86/Kconfig +1 -2
@@ -49,7 +49,6 @@ config X86 select ARCH_WANTS_DYNAMIC_TASK_STRUCT select ARCH_WANT_FRAME_POINTERS select ARCH_WANT_IPC_PARSE_VERSION if X86_32 - select ARCH_WANT_OPTIONAL_GPIOLIB select BUILDTIME_EXTABLE_SORT select CLKEVT_I8253 select CLKSRC_I8253 if X86_32
@@ -643,7 +642,7 @@ config STA2X11 select X86_DMA_REMAP select SWIOTLB select MFD_STA2X11 - select ARCH_REQUIRE_GPIOLIB + select GPIOLIB default n ---help--- This adds support for boards based on the STA2X11 IO-Hub,
arch/x86/lguest/boot.c +5 -12
@@ -1233,8 +1233,6 @@ static void write_bar_via_cfg(u32 cfg_offset, u32 off, u32 val)static void probe_pci_console (void ) {u8 cap, common_cap =0 , device_cap =0 ; -/* Offset within BAR0 */ -u32 device_offset;u32 device_len;/* Avoid recursive printk into here. */
@@ -1258,24 +1256,16 @@ static void probe_pci_console(void)u8 vndr =read_pci_config_byte (0 ,1 ,0 , cap);if (vndr ==PCI_CAP_ID_VNDR ) {u8 type, bar; -u32 offset, length; type =read_pci_config_byte (0 ,1 ,0 , cap + offsetof(struct virtio_pci_cap , cfg_type)); bar =read_pci_config_byte (0 ,1 ,0 , cap + offsetof(struct virtio_pci_cap , bar)); - offset =read_pci_config (0 ,1 ,0 , - cap + offsetof(struct virtio_pci_cap , offset)); - length =read_pci_config (0 ,1 ,0 , - cap + offsetof(struct virtio_pci_cap , length));switch (type) {case VIRTIO_PCI_CAP_DEVICE_CFG : -if (bar ==0 ) { +if (bar ==0 ) device_cap = cap; - device_offset = offset; - device_len = length; - }break ;case VIRTIO_PCI_CAP_PCI_CFG : console_access_cap = cap;
@@ -1297,13 +1287,16 @@ static void probe_pci_console(void)* emerg_wr. If it doesn't support VIRTIO_CONSOLE_F_EMERG_WRITE * it should ignore the access. */ + device_len =read_pci_config (0 ,1 ,0 , + device_cap + offsetof(struct virtio_pci_cap , length));if (device_len < (offsetof(struct virtio_console_config , emerg_wr) +sizeof (u32))) {printk (KERN_ERR "lguest: console missing emerg_wr field\n" );return ; } - console_cfg_offset = device_offset; + console_cfg_offset =read_pci_config (0 ,1 ,0 , + device_cap + offsetof(struct virtio_pci_cap , offset));printk (KERN_INFO "lguest: Console via virtio-pci emerg_wr\n" ); }