s390 patches for 3.3-rc2
Subsystems (2)
Hi Linus,
please pull from 'for-linus' branch of
git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git for-linus
to receive the following updates:
Christian Borntraeger (1):
[S390] cleanup entry point definition
Stefan Haberland (2):
[S390] dasd: revert LCU optimization [S390] dasd: revalidate server for new pathgroup
arch/s390/Makefile | 1 - arch/s390/kernel/vmlinux.lds.S | 4 +- drivers/s390/block/dasd.c | 6 ++++ drivers/s390/block/dasd_alias.c | 64 +-------------------------------------- drivers/s390/block/dasd_eckd.c | 63 ++++++++++++++++++++++---------------- drivers/s390/block/dasd_int.h | 2 + 6 files changed, 48 insertions(+), 92 deletions(-)
arch/s390/Makefile +0 -1
@@ -88,7 +88,6 @@ KBUILD_CFLAGS += -pipe -fno-strength-reduce -Wno-sign-compare KBUILD_AFLAGS += $(aflags-y) OBJCOPYFLAGS := -O binary -LDFLAGS_vmlinux := -e start head-y := arch/s390/kernel/head.o head-y += arch/s390/kernel/$(if $(CONFIG_64BIT),head64.o,head31.o)
arch/s390/kernel/vmlinux.lds.S +2 -2
@@ -9,12 +9,12 @@ #ifndef CONFIG_64BIT OUTPUT_FORMAT("elf32-s390", "elf32-s390", "elf32-s390") OUTPUT_ARCH(s390) -ENTRY(_start) +ENTRY(startup) jiffies = jiffies_64 + 4; #else OUTPUT_FORMAT("elf64-s390", "elf64-s390", "elf64-s390") OUTPUT_ARCH(s390:64-bit) -ENTRY(_start) +ENTRY(startup) jiffies = jiffies_64; #endif
drivers/s390/block/dasd.c +6 -0
@@ -3261,6 +3261,12 @@ void dasd_generic_path_event(struct ccw_device *cdev, int *path_event) device->path_data.tbvpm |= eventlpm;dasd_schedule_device_bh (device); } +if (path_event[chp] &PE_PATHGROUP_ESTABLISHED ) { +DBF_DEV_EVENT (DBF_WARNING , device,"%s" , +"Pathgroup re-established\n" ); +if (device->discipline->kick_validate) + device->discipline->kick_validate (device); + } }dasd_put_device (device); }
drivers/s390/block/dasd_alias.c +1 -63
98 lines not on this page · raw message
drivers/s390/block/dasd_eckd.c +37 -26
113 lines not on this page · raw message
drivers/s390/block/dasd_int.h +2 -0
@@ -355,6 +355,7 @@ struct dasd_discipline {int (*reload) (struct dasd_device *);int (*get_uid) (struct dasd_device *,struct dasd_uid *); +void (*kick_validate) (struct dasd_device *); };extern struct dasd_discipline *dasd_diag_discipline_pointer;
@@ -455,6 +456,7 @@ struct dasd_device {struct work_struct kick_work;struct work_struct restore_device;struct work_struct reload_device; +struct work_struct kick_validate;struct timer_list timer;debug_info_t *debug_area;