]> git.ipfire.org Git - ipfire-2.x.git/blame - src/patches/suse-2.6.27.31/patches.arch/s390-01-05-kmsg-v3.patch
Add a patch to fix Intel E100 wake-on-lan problems.
[ipfire-2.x.git] / src / patches / suse-2.6.27.31 / patches.arch / s390-01-05-kmsg-v3.patch
CommitLineData
2cb7cef9
BS
1From: Gerald Schaefer <geraldsc@de.ibm.com>
2Subject: Kernel message catalog infrastucture and message generation
3References: bnc#417300
4
5Instrument the kernel components such that a kernel message catalog as well as
6related man pages can be automatically generated.
7
8This patch now uses pr_xyz instead of kmsg_xyz and there is no Tag anymore
9inside the doc file.
10
11Acked-by: John Jolly <jjolly@suse.de>
12---
13 Documentation/kmsg/s390/aes_s390 | 30 +
14 Documentation/kmsg/s390/af_iucv | 33 +
15 Documentation/kmsg/s390/ap | 47 ++
16 Documentation/kmsg/s390/appldata | 88 +++
17 Documentation/kmsg/s390/cio | 92 +++
18 Documentation/kmsg/s390/claw | 666 ++++++++++++++++++++++++++++
19 Documentation/kmsg/s390/cpcmd | 17
20 Documentation/kmsg/s390/cpu | 69 ++
21 Documentation/kmsg/s390/ctcm | 199 ++++++++
22 Documentation/kmsg/s390/dcssblk | 162 +++++++
23 Documentation/kmsg/s390/extmem | 290 ++++++++++++
24 Documentation/kmsg/s390/hypfs | 56 ++
25 Documentation/kmsg/s390/iucv | 20
26 Documentation/kmsg/s390/lcs | 160 ++++++
27 Documentation/kmsg/s390/monreader | 127 +++++
28 Documentation/kmsg/s390/monwriter | 16
29 Documentation/kmsg/s390/netiucv | 139 ++++++
30 Documentation/kmsg/s390/qeth | 472 ++++++++++++++++++++
31 Documentation/kmsg/s390/s390dbf | 83 +++
32 Documentation/kmsg/s390/sclp_cmd | 6
33 Documentation/kmsg/s390/sclp_config | 3
34 Documentation/kmsg/s390/sclp_cpi | 2
35 Documentation/kmsg/s390/sclp_sdias | 4
36 Documentation/kmsg/s390/setup | 151 ++++++
37 Documentation/kmsg/s390/time | 36 +
38 Documentation/kmsg/s390/vmcp | 13
39 Documentation/kmsg/s390/vmlogrdr | 5
40 Documentation/kmsg/s390/vmur | 34 +
41 Documentation/kmsg/s390/xpram | 58 ++
42 Documentation/kmsg/s390/zdump | 12
43 Documentation/kmsg/s390/zfcp | 830 ++++++++++++++++++++++++++++++++++++
44 Makefile | 16
45 arch/s390/Kconfig | 9
46 arch/s390/appldata/appldata.h | 4
47 arch/s390/appldata/appldata_base.c | 11
48 arch/s390/appldata/appldata_os.c | 20
49 arch/s390/crypto/aes_s390.c | 13
50 arch/s390/hypfs/hypfs_diag.c | 9
51 arch/s390/hypfs/inode.c | 13
52 arch/s390/kernel/Makefile | 4
53 arch/s390/kernel/cpcmd.c | 6
54 arch/s390/kernel/debug.c | 36 -
55 arch/s390/kernel/processor.c | 97 ++++
56 arch/s390/kernel/setup.c | 159 +-----
57 arch/s390/kernel/smp.c | 16
58 arch/s390/kernel/time.c | 13
59 arch/s390/kernel/topology.c | 4
60 arch/s390/mm/extmem.c | 105 +---
61 drivers/s390/block/dcssblk.c | 73 +--
62 drivers/s390/block/xpram.c | 40 -
63 drivers/s390/char/monreader.c | 40 -
64 drivers/s390/char/monwriter.c | 4
65 drivers/s390/char/sclp_cmd.c | 28 -
66 drivers/s390/char/sclp_config.c | 9
67 drivers/s390/char/sclp_cpi_sys.c | 11
68 drivers/s390/char/sclp_sdias.c | 17
69 drivers/s390/char/vmcp.c | 7
70 drivers/s390/char/vmlogrdr.c | 25 -
71 drivers/s390/char/vmur.c | 14
72 drivers/s390/char/zcore.c | 13
73 drivers/s390/cio/blacklist.c | 13
74 drivers/s390/cio/chsc.c | 7
75 drivers/s390/cio/cio.c | 4
76 drivers/s390/cio/cmf.c | 7
77 drivers/s390/cio/css.c | 7
78 drivers/s390/crypto/ap_bus.c | 9
79 drivers/s390/net/claw.c | 258 +++++------
80 drivers/s390/net/ctcm_fsms.c | 45 +
81 drivers/s390/net/ctcm_main.c | 71 +--
82 drivers/s390/net/ctcm_main.h | 6
83 drivers/s390/net/ctcm_mpc.c | 14
84 drivers/s390/net/ctcm_sysfs.c | 2
85 drivers/s390/net/lcs.c | 91 ++-
86 drivers/s390/net/netiucv.c | 63 +-
87 drivers/s390/net/qeth_core.h | 7
88 drivers/s390/net/qeth_core_main.c | 148 +++---
89 drivers/s390/net/qeth_l2_main.c | 40 -
90 drivers/s390/net/qeth_l3_main.c | 214 ++++-----
91 drivers/s390/scsi/zfcp_aux.c | 10
92 drivers/s390/scsi/zfcp_ccw.c | 14
93 drivers/s390/scsi/zfcp_cfdc.c | 2
94 drivers/s390/scsi/zfcp_dbf.c | 2
95 drivers/s390/scsi/zfcp_erp.c | 53 +-
96 drivers/s390/scsi/zfcp_fc.c | 2
97 drivers/s390/scsi/zfcp_fsf.c | 234 +++-------
98 drivers/s390/scsi/zfcp_qdio.c | 28 -
99 drivers/s390/scsi/zfcp_scsi.c | 5
100 drivers/s390/scsi/zfcp_sysfs.c | 2
101 include/linux/device.h | 28 -
102 include/linux/kernel.h | 38 +
103 kernel/printk.c | 45 +
104 net/iucv/af_iucv.c | 18
105 net/iucv/iucv.c | 8
106 scripts/Makefile.build | 14
107 scripts/kmsg-doc | 477 ++++++++++++++++++++
108 95 files changed, 5641 insertions(+), 1081 deletions(-)
109
110--- /dev/null
111+++ b/Documentation/kmsg/s390/aes_s390
112@@ -0,0 +1,30 @@
113+/*?
114+ * Text: "Allocating AES fallback algorithm %s failed\n"
115+ * Severity: Error
116+ * Parameter:
117+ * @1: algorithm name
118+ * Description:
119+ * The advanced encryption standard (AES) algorithm includes three modes with
120+ * 128-bit, 192-bit, and 256-bit keys. Your hardware system only provides
121+ * hardware acceleration for the 128-bit mode. The aes_s390 module failed to
122+ * allocate a software fallback for the AES modes that are not supported by the
123+ * hardware. A possible reason for this problem is that the aes_generic module
124+ * that provides the fallback algorithms is not available.
125+ * User action:
126+ * Use the 128-bit mode only or ensure that the aes_generic module is available
127+ * and loaded and reload the aes_s390 module.
128+ */
129+
130+/*?
131+ * Text: "AES hardware acceleration is only available for 128-bit keys\n"
132+ * Severity: Informational
133+ * Description:
134+ * The advanced encryption standard (AES) algorithm includes three modes with
135+ * 128-bit, 192-bit, and 256-bit keys. Your hardware system only provides
136+ * hardware acceleration for the 128-bit key mode. The aes_s390 module
137+ * will use the less performant software fallback algorithm for the 192-bit
138+ * and 256-bit key modes.
139+ * User action:
140+ * None.
141+ */
142+
143--- /dev/null
144+++ b/Documentation/kmsg/s390/af_iucv
145@@ -0,0 +1,33 @@
146+/*?
147+ * Text: "Application %s on z/VM guest %s exceeds message limit\n"
148+ * Severity: Error
149+ * Parameter:
150+ * @1: application name
151+ * @2: z/VM user ID
152+ * Description:
153+ * Messages or packets destined for the application have accumulated and
154+ * reached the maximum value. The default for the message limit is 65535.
155+ * You can specify a different limit as the value for MSGLIMIT within
156+ * the IUCV statement of the z/VM virtual machine on which the application
157+ * runs.
158+ * User action:
159+ * Ensure that you do not send data faster than the application retrieves
160+ * them. Ensure that the message limit on the z/VM guest virtual machine
161+ * on which the application runs is high enough.
162+ */
163+
164+/*?
165+ * Text: "The af_iucv module cannot be loaded without z/VM\n"
166+ * Severity: Error
167+ * Description:
168+ * The AF_IUCV protocol connects socket applications running in Linux
169+ * kernels on different z/VM virtual machines, or it connects a Linux
170+ * application to another sockets application running in a z/VM virtual
171+ * machine. On Linux instances that run in environments other than the
172+ * z/VM hypervisor, the AF_IUCV protocol does not provide any useful
173+ * function and the corresponding af_iucv module cannot be loaded.
174+ * User action:
175+ * Load the af_iucv module only on Linux instances that run as guest
176+ * operating systems of the z/VM hypervisor. If the module has been
177+ * compiled into the kernel, ignore this message.
178+ */
179--- /dev/null
180+++ b/Documentation/kmsg/s390/ap
181@@ -0,0 +1,47 @@
182+/*?
183+ * Text: "%d is not a valid cryptographic domain\n"
184+ * Severity: Warning
185+ * Parameter:
186+ * @1: AP domain index
187+ * Description:
188+ * The cryptographic domain specified for the 'domain=' module or kernel
189+ * parameter must be an integer in the range 0 to 15.
190+ * User action:
191+ * Reload the cryptographic device driver with a correct module parameter.
192+ * If the device driver has been compiled into the kernel, correct the value
193+ * in the kernel parameter line and reboot Linux.
194+ */
195+
196+/*?
197+ * Text: "The hardware system does not support AP instructions\n"
198+ * Severity: Warning
199+ * Description:
200+ * The ap module addresses AP adapters through AP instructions. The hardware
201+ * system on which the Linux instance runs does not support AP instructions.
202+ * The ap module cannot detect any AP adapters.
203+ * User action:
204+ * Load the ap module only if your Linux instance runs on hardware that
205+ * supports AP instructions. If the ap module has been compiled into the kernel,
206+ * ignore this message.
207+ */
208+
209+/*?
210+ * Text: "Registering adapter interrupts for AP %d failed\n"
211+ * Severity: Error
212+ * Parameter:
213+ * @1: AP device ID
214+ * Description:
215+ * The hardware system supports AP adapter interrupts but failed to enable
216+ * an adapter for interrupts. Possible causes for this error are:
217+ * i) The AP adapter firmware does not support AP interrupts.
218+ * ii) An AP adapter firmware update to a firmware level that supports AP
219+ * adapter interrupts failed.
220+ * iii) The AP adapter firmware has been successfully updated to a level that
221+ * supports AP interrupts but the new firmware has not been activated.
222+ * User action:
223+ * Ensure that the firmware on your AP adapters support AP interrupts and that
224+ * any firmware updates have completed successfully. If necessary, deconfigure
225+ * your cryptographic adapters and reconfigure them to ensure that any firmware
226+ * updates become active, then reload the ap module. If the ap module has been
227+ * compiled into the kernel, reboot Linux.
228+ */
229--- /dev/null
230+++ b/Documentation/kmsg/s390/appldata
231@@ -0,0 +1,88 @@
232+/*?
233+ * Text: "Starting the data collection for %s failed with rc=%d\n"
234+ * Severity: Error
235+ * Parameter:
236+ * @1: appldata module
237+ * @2: return code
238+ * Description:
239+ * The specified data collection module used the z/VM diagnose call
240+ * DIAG 0xDC to start writing data. z/VM returned an error and the data
241+ * collection could not start. If the return code is 5, your z/VM guest
242+ * virtual machine is not authorized to write data records.
243+ * User action:
244+ * If the return code is 5, ensure that your z/VM guest virtual machine's
245+ * entry in the z/VM directory includes the OPTION APPLMON statement.
246+ * For other return codes see the section about DIAGNOSE Code X'DC'
247+ * in "z/VM CP Programming Services".
248+ */
249+
250+/*?
251+ * Text: "Stopping the data collection for %s failed with rc=%d\n"
252+ * Severity: Error
253+ * Parameter:
254+ * @1: appldata module
255+ * @2: return code
256+ * Description:
257+ * The specified data collection module used the z/VM diagnose call DIAG 0xDC
258+ * to stop writing data. z/VM returned an error and the data collection
259+ * continues.
260+ * User action:
261+ * See the section about DIAGNOSE Code X'DC' in "z/VM CP Programming Services".
262+ */
263+
264+/*?
265+ * Text: "Starting a new OS data collection failed with rc=%d\n"
266+ * Severity: Error
267+ * Parameter:
268+ * @1: return code
269+ * Description:
270+ * After a CPU hotplug event, the record size for the running operating
271+ * system data collection is no longer correct. The appldata_os module tried
272+ * to start a new data collection with the correct record size but received
273+ * an error from the z/VM diagnose call DIAG 0xDC. Any data collected with
274+ * the current record size might be faulty.
275+ * User action:
276+ * Start a new data collection with the cappldata_os module. For information
277+ * about starting data collections see "Device Drivers, Features, and
278+ * Commands". For information about the return codes see the section about
279+ * DIAGNOSE Code X'DC' in "z/VM CP Programming Services".
280+ */
281+
282+/*?
283+ * Text: "Stopping a faulty OS data collection failed with rc=%d\n"
284+ * Severity: Error
285+ * Parameter:
286+ * @1: return code
287+ * Description:
288+ * After a CPU hotplug event, the record size for the running operating
289+ * system data collection is no longer correct. The appldata_os module tried
290+ * to stop the faulty data collection but received an error from the z/VM
291+ * diagnose call DIAG 0xDC. Any data collected with the current record size
292+ * might be faulty.
293+ * User action:
294+ * Try to restart appldata_os monitoring. For information about stopping
295+ * and starting data collections see "Device Drivers, Features, and
296+ * Commands". For information about the return codes see the section about
297+ * DIAGNOSE Code X'DC' in "z/VM CP Programming Services".
298+ */
299+
300+/*?
301+ * Text: "Maximum OS record size %i exceeds the maximum record size %i\n"
302+ * Severity: Error
303+ * Parameter:
304+ * @1: no of bytes
305+ * @2: no of bytes
306+ * Description:
307+ * The OS record size grows with the number of CPUs and is adjusted by the
308+ * appldata_os module in response to CPU hotplug events. For more than 110
309+ * CPUs the record size would exceed the maximum record size of 4024 bytes
310+ * that is supported by the z/VM hypervisor. To prevent the maximum supported
311+ * record size from being exceeded while data collection is in progress,
312+ * you cannot load the appldata_os module on Linux instances that are
313+ * configured for a maximum of more than 110 CPUs.
314+ * User action:
315+ * If you do not want to collect operating system data, you can ignore this
316+ * message. If you want to collect operating system data, reconfigure your
317+ * Linux instance to support less than 110 CPUs.
318+ */
319+
320--- /dev/null
321+++ b/Documentation/kmsg/s390/cio
322@@ -0,0 +1,92 @@
323+/*?
324+ * Text: "%s is not a valid device for the cio_ignore kernel parameter\n"
325+ * Severity: Warning
326+ * Parameter:
327+ * @1: device bus-ID
328+ * Description:
329+ * The device specification for the cio_ignore kernel parameter is
330+ * syntactically incorrect or specifies an unknown device. This device is not
331+ * excluded from being sensed and analyzed.
332+ * User action:
333+ * Correct your device specification in the kernel parameter line to have the
334+ * device excluded when you next reboot Linux. You can write the correct
335+ * device specification to /proc/cio_ignore to add the device to the list of
336+ * devices to be excluded. This does not immediately make the device
337+ * inaccessible but the device is ignored if it disappears and later reappears.
338+ */
339+
340+/*?
341+ * Text: "0.%x.%04x to 0.%x.%04x is not a valid range for cio_ignore\n"
342+ * Severity: Warning
343+ * Parameter:
344+ * @1: from subchannel set ID
345+ * @2: from device number
346+ * @3: to subchannel set ID
347+ * @4: to device number
348+ * Description:
349+ * The device range specified for the cio_ignore kernel parameter is
350+ * syntactically incorrect. No devices specified with this range are
351+ * excluded from being sensed and analyzed.
352+ * User action:
353+ * Correct your range specification in the kernel parameter line to have the
354+ * range of devices excluded when you next reboot Linux. You can write the
355+ * correct range specification to /proc/cio_ignore to add the range of devices
356+ * to the list of devices to be excluded. This does not immediately make the
357+ * devices in the range inaccessible but any of these devices are ignored if
358+ * they disappear and later reappear.
359+ */
360+
361+/*?
362+ * Text: "Processing %s for channel path %x.%02x\n"
363+ * Severity: Notice
364+ * Parameter:
365+ * @1: configuration change
366+ * @2: channel subsystem ID
367+ * @3: CHPID
368+ * Description:
369+ * A configuration change is in progress for the given channel path.
370+ * User action:
371+ * None.
372+ */
373+
374+/*?
375+ * Text: "No CCW console was found\n"
376+ * Severity: Warning
377+ * Description:
378+ * Linux did not find the expected CCW console and tries to use an alternative
379+ * console. A possible reason why the console was not found is that the console
380+ * has been specified in the cio_ignore list.
381+ * User action:
382+ * None, if an appropriate alternative console has been found, and you want
383+ * to use this alternative console. If you want to use the CCW console, ensure
384+ * that is not specified in the cio_ignore list, explicitly specify the console
385+ * with the 'condev=' kernel parameter, and reboot Linux.
386+ */
387+
388+/*?
389+ * Text: "Channel measurement facility initialized using format %s (mode %s)\n"
390+ * Severity: Informational
391+ * Parameter:
392+ * @1: format
393+ * @2: mode
394+ * Description:
395+ * The channel measurement facility has been initialized successfully. Format
396+ * 'extended' should be used for z990 and later mainframe systems. Format
397+ * 'basic' is intended for earlier mainframes. Mode 'autodetected' means that
398+ * the format has been set automatically. Mode 'parameter' means that the
399+ * format has been set according to the 'format=' kernel parameter.
400+ * User action:
401+ * None.
402+ */
403+
404+/*?
405+ * Text: "The CSS device driver initialization failed with errno=%d\n"
406+ * Severity: Alert
407+ * Parameter:
408+ * @1: Return code
409+ * Description:
410+ * The channel subsystem bus could not be established.
411+ * User action:
412+ * See the errno man page to find out what caused the problem.
413+ */
414+ /*? Text: "%s: Got subchannel machine check but no sch_event handler provided.\n" */
415--- /dev/null
416+++ b/Documentation/kmsg/s390/claw
417@@ -0,0 +1,666 @@
418+/*?
419+ * Text: "%s: add_files failed\n"
420+ * Severity: Warning
421+ * Parameter:
422+ * @1: Device
423+ * Description:
424+ * sysfs_create_group() failed to create the
425+ * /proc/... files for the new device.
426+ * This could be a result of the /proc file
427+ * system not being available or it could be
428+ * a symptom of a more serious problem.
429+ * User action:
430+ * The device will not start. Re-start the device
431+ * If the /proc file system is not available CLAW
432+ * devices cannot be used.
433+ */
434+
435+/*?
436+ * Text: "%s: unsolicited interrupt for device received c-%02x d-%02x\n"
437+ * Severity: Warning
438+ * Parameter:
439+ * @1: Channel Device address
440+ * @2: Returned SubChannel Status word
441+ * @3: Returned Device Status word
442+ * Description:
443+ * An IRQ (channel interrupt) was received for a device that
444+ * was not in a state to receive data. The IRQ will be
445+ * ignored.
446+ * User action:
447+ * This can happen as devices come on and off line.
448+ * If the problem persists or the device will not
449+ * activate, channel tracing or device traces may be
450+ * used to diagnose the problem.
451+ */
452+
453+/*?
454+ * Text: "%s: Can't determine channel for interrupt\n"
455+ * Severity: Warning
456+ * Parameter:
457+ * @1: Channel Device address
458+ * Description:
459+ * The interrupt device was not the READ or WRITE device
460+ * for the CLAW device. The bus address of the interrupt
461+ * is displayed. This should not occur and indicates a
462+ * a problem in the CCW driver in the kernel.
463+ * User action:
464+ * If the problem persists check if an incorrect device type
465+ * has been assigned to a CLAW channel.
466+ */
467+
468+/*?
469+ * Text: "%s: %s: wrong selection code - irq state=%d\n"
470+ * Severity: Warning
471+ * Parameter:
472+ * @1: Channel Device Address
473+ * @2: network device name (eg. claw0)
474+ * @3: Current CLAW device status
475+ * Description:
476+ * The CLAW device is in an invalid CCW state
477+ * to handle IO. The interrupt will be ignored.
478+ * User action:
479+ * The device may need to be restarted. If the problem
480+ * persists s390dbf traces and CCW traces may be used
481+ * to diagnose the problem.
482+ * The CLAW status is a number from 0 to 4 indicating the device
483+ * driver's view of the read or write channel state.
484+ * Channel status values:
485+ * 0 The channel is inactive
486+ * 1 The channel is ready to start
487+ * 2 RESERVED
488+ * 3 The channel is started for READ
489+ * 4 The channel is started for WRITE
490+ */
491+
492+/*?
493+ * Text: "%s: %s: channel problems during close - read: %02x - write: %02x\n"
494+ * Severity: Warning
495+ * Parameter:
496+ * @1: Channel Device Address
497+ * @2: network device name (eg. claw0)
498+ * @3: Saved CLAW Read sub channel Device Status
499+ * @4: Saved CLAW Write sub channel Device Status
500+ * Description:
501+ * claw_release() has freed all of the storage
502+ * for the device. The device state is expected to be
503+ * DEVICE END and CHANNEL END and it was not.
504+ * The device may not restart cleanly.
505+ * User action:
506+ * The device should restart after varying it
507+ * on and offline. If not it, power the CLAW device off
508+ * and on and retry.
509+ */
510+
511+/*?
512+ * Text: "%s: Device not found for IO ENODEV\n"
513+ * Severity: Error
514+ * Parameter:
515+ * @1: Channel Device Address
516+ * Description:
517+ * A Channel Command Word was executed and returned
518+ * a non-zero return code (ERRNO) was returned by
519+ * the Common IO Layer.
520+ * User action:
521+ * The ERRNO indicated was ENODEV. This indicates that the
522+ * Device was offline or not operational.
523+ * Check the status of the device and restart the device.
524+ */
525+
526+/*?
527+ * Text: "%s: Status pending... EIO \n"
528+ * Severity: Error
529+ * Parameter:
530+ * @1: Channel Device Address
531+ * Description:
532+ * The Common IO Layer returned an EIO ERRNO
533+ * when a CCW was executed.
534+ * A 'sub-channel check for device:' message may
535+ * also be seen with the cstat and other device status.
536+ * User action:
537+ * The device may be in an invalid state. Check the
538+ * device status and restart the device if needed.
539+ */
540+
541+/*?
542+ * Text: "%s: Invalid Dev State EINVAL \n"
543+ * Severity: Error
544+ * Parameter:
545+ * @1: Channel Device Address
546+ * Description:
547+ * The Common IO Layer returned an EINVAL ERRNO
548+ * when a CCW was executed.
549+ * A 'sub-channel check for device:' message may
550+ * also be seen with the cstat and other device status.
551+ * User action:
552+ * The ERRNO indicated was ENODEV. This indicates that the
553+ * Device was offline or not operational.
554+ * Check the status of the device and restart the device.
555+ */
556+
557+/*?
558+ * Text: "%s: Unknown error in Do_IO %d\n"
559+ * Severity: Error
560+ * Parameter:
561+ * @1: ERRNO
562+ * Description:
563+ * The Common IO Layer returned an unexpected ERRNO
564+ * when a CCW was executed.
565+ * A 'sub-channel check for device:' message may
566+ * also be seen with the cstat and other device status.
567+ * User action:
568+ * Determine the ERRNO issued and restart the device.
569+ * If the problem remains a sub-channel trace may be needed.
570+ */
571+
572+/*?
573+ * Text: "%s: %s: Interface disconnect or Selective reset occurred (remote side)\n"
574+ * Severity: Warning
575+ * Parameter:
576+ * @1: Channel Device Address
577+ * @2: network device name (eg. claw0)
578+ * Description:
579+ * The CCW completed with the Returned Device Status word
580+ * having DEV_STAT_UNIT_CHECK set. The Sense code contained 0x41
581+ * User action:
582+ * The CLAW device has been reset or the CLAW device's
583+ * channel card has been reset.
584+ * Once the device is back in service restart the device.
585+ */
586+
587+/*?
588+ * Text: "%s: %s: System reset occurred (remote side)\n"
589+ * Severity: Warning
590+ * Parameter:
591+ * @1: Channel Device Address
592+ * @2: network device name (eg. claw0)
593+ * Description:
594+ * The CCW completed with the Returned Device Status word
595+ * having DEV_STAT_UNIT_CHECK set. The Sense code contained 0x40
596+ * User action:
597+ * The CLAW device has been reset or the CLAW device's
598+ * channel card has been reset.
599+ * Once the device is back in service restart the device.
600+ */
601+
602+/*?
603+ * Text: "%s: %s: Data-streaming timeout)\n"
604+ * Severity: Warning
605+ * Parameter:
606+ * @1: Channel Device Address
607+ * @2: network device name (eg. claw0)
608+ * Description:
609+ * The CCW completed with the Returned Device Status word
610+ * having DEV_STAT_UNIT_CHECK set. The Sense code contained 0x24
611+ * User action:
612+ * The device may be having errors or the channel is not operating
613+ * properly. CCW trace may be needed to diagnose. Restart
614+ * the device.
615+ */
616+
617+/*?
618+ * Text: "%s: %s: Data-transfer parity error\n"
619+ * Severity: Warning
620+ * Parameter:
621+ * @1: Channel Device Address
622+ * @1: network device name (eg. claw0)
623+ * Description:
624+ * The CCW completed with the Returned Device Status word
625+ * having DEV_STAT_UNIT_CHECK set. The Sense code contained 0x20
626+ * User action:
627+ * The device may be having errors or the channel is not operating
628+ * properly. CCW trace may be needed to diagnose. Restart
629+ * the device.
630+ */
631+
632+/*?
633+ * Text: "%s: %s: Hardware malfunction (remote side)\n"
634+ * Severity: Warning
635+ * Parameter:
636+ * @1: Channel Device Address
637+ * @2: network device name (eg. claw0)
638+ * Description:
639+ * The CCW completed with the Returned Device Status word
640+ * having DEV_STAT_UNIT_CHECK set. The Sense code contained 0x30
641+ * User action:
642+ * The CLAW Device may be in error. Check the device and restart.
643+ * If the problem continues CCW traces and device
644+ * diagnosis will be needed.
645+ */
646+
647+/*?
648+ * Text: "%s: %s: read-data parity error (remote side)\n"
649+ * Severity: Warning
650+ * Parameter:
651+ * @1: Channel Device Address
652+ * @2: network device name (eg. claw0)
653+ * Description:
654+ * The CCW completed with the Returned Device Status word
655+ * having DEV_STAT_UNIT_CHECK set. The Sense code contained 0x10
656+ * User action:
657+ * The CLAW Device may be in error. Check the device and restart.
658+ * If the problem continues CCW traces and device
659+ * diagnosis will be needed.
660+ */
661+
662+/*?
663+ * Text: "%s: %s: %d is wrong version id. Expected %d\n"
664+ * Severity: Informational
665+ * Parameter:
666+ * @1: Channel Device Address
667+ * @2: network device name (eg. claw0)
668+ * @3: CLAW API version (must be '2')
669+ * @4: 2
670+ * Description:
671+ * The claw device driver received a
672+ * SYSTEM_VALIDATE_REQUEST packet with a mismatched version ID
673+ * claw expects all packets to be version 2.
674+ * User action:
675+ * The CLAW device has sent an invalid packet. Check the device
676+ * and if needed trace the channel to determine the cause.
677+ */
678+
679+/*?
680+ * Text: "%s: %s: Host name mismatch. Received: %s expected: %s\n"
681+ * Severity: Informational
682+ * Parameter:
683+ * @1: Channel Device Address
684+ * @2: network device name (eg. claw0)
685+ * @3: The 1 to 8 character host name received
686+ * @4: The 1 to 8 character host name configured
687+ * Description:
688+ * The HOSTNAME portion of the CLAW parameters does not match the
689+ * HOSTNAME received on a control packet from the CLAW Device.
690+ * The 1 to 8 character host name received is the received host name.
691+ * User action:
692+ * Check the claw device parameters and the CLAW device definitions.
693+ * Correct the parameter so the parameters match and
694+ * restart the device.
695+ */
696+
697+/*?
698+ * Text: "%s: %s: WS name mismatch. Received: %s expected: %s\n"
699+ * Severity: Informational
700+ * Parameter:
701+ * @1: Channel Device Address
702+ * @1: network device name (eg. claw0)
703+ * @2: The 1 to 8 character Work Station Name received
704+ * @3: The 1 to 8 character Work Station Name configured
705+ * Description:
706+ * The Work Station name portion of the CLAW parameters does not match the
707+ * WSNAME received on a control packet from the CLAW Device.
708+ * The received Work Station name is in The 1 to 8 character Work Station Name received.
709+ * User action:
710+ * Check the claw device parameters and the CLAW device definitions.
711+ * Correct the parameter so the parameters match and
712+ * restart the device.
713+ */
714+
715+/*?
716+ * Text: "%s: host write size is too small\n"
717+ * Severity: Informational
718+ * Parameter:
719+ * @1: Channel Device Address
720+ * Description:
721+ * The write buffer size received from the
722+ * CLAW device is smaller than the
723+ * write buffer size that the parameters the
724+ * device was defined with.
725+ * User action:
726+ * Check the setup of the device and the
727+ * claw device parameters and correct the
728+ * difference.
729+ */
730+
731+/*?
732+ * Text: "%s: host read size is too small\n"
733+ * Severity: Informational
734+ * Parameter:
735+ * @1: Channel Device Address
736+ * Description:
737+ * * The read buffer size received from the
738+ * CLAW device is smaller than the
739+ * read buffer size in the parameters the
740+ * device was defined with.
741+ * User action:
742+ * Check the setup of the device and the
743+ * claw device parameters and correct the
744+ * difference.
745+ */
746+
747+/*?
748+ * Text: "%s: %s: Recv Sys Validate Resp: Vers=%d,Corr=%d,RC=%d,WS name=%.8s,Host name=%.8s\n"
749+ * Severity: Informational
750+ * Parameter:
751+ * @1: Channel Device Address
752+ * @2: network device name (eg. claw0)
753+ * @3: CLAW API version (must be '2')
754+ * @4: CLAW device identifier
755+ * @5: Return code received from CLAW device
756+ * @6: The 1 to 8 character Work Station Name received
757+ * @7: The 1 to 8 character Host Name received
758+ * Description:
759+ * A System Validate packet was sent to the device and
760+ * a response was received. The message summarizes
761+ * the content of the response.
762+ * User action:
763+ * Check for expected values.
764+ */
765+
766+/*?
767+ * Text: "%s: %s: Sys Validate Resp : Host, WS name is mismatch\n"
768+ * Severity: Informational
769+ * Parameter:
770+ * @1: Channel Device Address
771+ * @2: network device name (eg. claw0)
772+ * Description:
773+ * A System validate request sent to the CLAW
774+ * device has been rejected due to
775+ * mismatched parameters. The device will not start.
776+ * User action:
777+ * Check the CLAW device parameters and ensure
778+ * they match the CLAW devices definitions.
779+ */
780+
781+/*?
782+ * Text: "%s: %s: Sys Validate Resp : Wrong version\n"
783+ * Severity: Informational
784+ * Parameter:
785+ * @1: Channel Device Address
786+ * @2: network device name (eg. claw0)
787+ * Description:
788+ * A System validate request sent to the CLAW
789+ * device has been rejected due to
790+ * mismatched parameters. The device will not start.
791+ * User action:
792+ * Check the CLAW device parameters and ensure
793+ * they match the CLAW devices definitions.
794+ */
795+
796+/*?
797+ * Text: "%s: %s: Sys Validate Resp : bad frame size\n"
798+ * Severity: Informational
799+ * Parameter:
800+ * @1: Channel Device Address
801+ * @2: network device name (eg. claw0)
802+ * Description:
803+ * A System validate request sent to the CLAW
804+ * device has been rejected due to
805+ * mismatched parameters. The device will not start.
806+ * User action:
807+ * Check the CLAW device parameters and ensure
808+ * they match the CLAW devices definitions.
809+ */
810+
811+/*?
812+ * Text: "%s: %s: Sys Validate error code=%d \n"
813+ * Severity: Informational
814+ * Parameter:
815+ * @1: Channel Device Address
816+ * @2: network device name (eg. claw0)
817+ * @3: Return code received
818+ * Description:
819+ * A System validate request sent to the CLAW
820+ * device has been rejected due to
821+ * mismatched parameters. The device will not start.
822+ * User action:
823+ * Check the CLAW device parameters and ensure
824+ * they match the CLAW devices definitions.
825+ */
826+
827+/*?
828+ * Text: "%s: %s: Conn Req error : already logical link is active \n"
829+ * Severity: Informational
830+ * Parameter:
831+ * @1: Channel Device Address
832+ * @2: network device name (eg. claw0)
833+ * Description:
834+ * A connection request has been received but the
835+ * logical link is already active.
836+ * User action:
837+ * This can be a timing error. If the device
838+ * fails to connect a restart may be needed.
839+ */
840+
841+/*?
842+ * Text: "%s: %s: Conn Req error : req logical link id is not 1\n"
843+ * Severity: Informational
844+ * Parameter:
845+ * @1: Channel Device Address
846+ * @2: network device name (eg. claw0)
847+ * Description:
848+ * The current CLAW design allows only logical link 1
849+ * A device attempted to connect with a Log Link ID
850+ * other than 1. The connection will be rejected.
851+ * User action:
852+ * Check the device setup and restart the device.
853+ */
854+
855+/*?
856+ * Text: "%s: %s: Conn Req error : req appl name does not match\n"
857+ * Severity: Informational
858+ * Parameter:
859+ * @1: Channel Device Address
860+ * @1: network device name (eg. claw0)
861+ * Description:
862+ * A Connection Request was received with a mismatched
863+ * WS Application name.
864+ * User action:
865+ * Check the device driver setup and restart the device.
866+ */
867+
868+/*?
869+ * Text: "%s: %s: Conn Resp error: rc=%d \n"
870+ * Severity: Informational
871+ * Parameter:
872+ * @1: Channel Device Address
873+ * @1: network device name (eg. claw0)
874+ * @2: Return code received
875+ * Description:
876+ * An error was detected by the CLAW device in
877+ * the Connection Request packet it processed.
878+ * User action:
879+ * Check the device parameters and restart.
880+ */
881+
882+/*?
883+ * Text: "%s: %s: Conn Resp error: req appl name does not match\n"
884+ * Severity: Informational
885+ * Parameter:
886+ * @1: Channel Device Address
887+ * @2: network device name (eg. claw0)
888+ * Description:
889+ * The CLAW device received a Connection Request with
890+ * a mismatched Application ID. The connection will
891+ * not be started.
892+ * User action:
893+ * Check the definitions in the device and the device driver
894+ * and correct errors.
895+ */
896+
897+/*?
898+ * Text: "%s: %s: Conn confirm: unexpected linkid=%d \n"
899+ * Severity: Informational
900+ * Parameter:
901+ * @1: Channel Device Address
902+ * @2: network device name (eg. claw0)
903+ * @3: p_ctlbk->linkid
904+ * Description:
905+ * A Connection Confirmed packet was received
906+ * with a different link Id than the default
907+ * User action:
908+ * The link will not become active. A restart
909+ * is required after checking the device parameters.
910+ */
911+
912+/*?
913+ * Text: "%s: %s: CLAW ERROR detected\n"
914+ * Severity: Informational
915+ * Parameter:
916+ * @1: Channel Device Address
917+ * @2: network device name (eg. claw0)
918+ * Description:
919+ * The CLAW device detected an error condition
920+ * User action:
921+ * Check the logs and traces on the device.
922+ * If the problem persists diagnostic traces may be
923+ * needed
924+ */
925+
926+/*?
927+ * Text: "%s: %s: Unexpected command code=%d \n"
928+ * Severity: Informational
929+ * Parameter:
930+ * @1: Channel Device Address
931+ * @2: network device name (eg. claw0)
932+ * @3: CLAW command code received
933+ * Description:
934+ * This should not occur. An undefined command code
935+ * was received in a control packet from the CLAW
936+ * device.
937+ * User action:
938+ * Restart the device. If the problem persists
939+ * tracing of the connection and diagnosis of the
940+ * device may be needed.
941+ */
942+
943+/*?
944+ * Text: "%s: %s: Invalid frame detected length is %02x\n"
945+ * Severity: Informational
946+ * Parameter:
947+ * @1: Channel Device Address
948+ * @2: network device name (eg. claw0)
949+ * @3: Data packet frame length value
950+ * Description:
951+ * Claw data packet was received with an invalid length field.
952+ * the header length is shown. This can be the result of
953+ * data errors or invalid packing.
954+ * User action:
955+ * restart the device and if the problem persists trace the
956+ * device or channel interface.
957+ */
958+
959+/*?
960+ * Text: "%s: buffer allocate failed on receive\n"
961+ * Severity: Informational
962+ * Parameter:
963+ * @1: Channel Device Address
964+ * Description:
965+ * Claw data packet was received but allocate for the recevie buffer
966+ * failed. this can be a low memory condition.
967+ * the data packet will be dropped.
968+ * User action:
969+ * Restart the device if the problem persists.
970+ */
971+
972+/*?
973+ * Text: "%s: add channel failed with ret = %d\n"
974+ * Severity: Warning
975+ * Parameter:
976+ * @1: Channel Device Address
977+ * @2: ERRNO
978+ * Description:
979+ * add_channel() failed with return code rc.
980+ * This is most likely an ENOMEM errno returned from
981+ * an attempt to allocate an IRB for the CLAW
982+ * channel device structure.
983+ * User action:
984+ * Check the return code and take action as needed.
985+ * If this is caused by a low memory condition in the
986+ * kernel itself several other messages and symptoms
987+ * may appear. if the problem persists expert assistance
988+ * in kernel diagosis may be needed.
989+ */
990+
991+/*?
992+ * Text: "%s: device set online READ failed with ret = %d\n"
993+ * Severity: Warning
994+ * Parameter:
995+ * @1: Channel Device Address
996+ * @2: ret
997+ * Description:
998+ * A non zero return code was the result of an attempt to
999+ * set the device online. The device cannot be activated.
1000+ * User action:
1001+ * Check the device driver parameters and the system definitions.
1002+ */
1003+
1004+/*?
1005+ * Text: "%s: device set online WRITE failed with ret = %d\n"
1006+ * Severity: Warning
1007+ * Parameter:
1008+ * @1: Channel Device Address
1009+ * @2: ret
1010+ * Description:
1011+ * A non zero return code was the result of an attempt to
1012+ * set the device online. The device cannot be activated.
1013+ * User action:
1014+ * Check the device driver parameters and the system definitions.
1015+ */
1016+
1017+/*?
1018+ * Text: "%s: failed creating network device\n"
1019+ * Severity: Warning
1020+ * Parameter:
1021+ * @1: Channel Device Address
1022+ * Description:
1023+ * Creation of a network claw device failed.
1024+ * no pointer to a new device was returned.
1025+ * User action:
1026+ * Check for errors in the Linux system.
1027+ * This can result from memory shortage or
1028+ * errors in setup.
1029+ */
1030+
1031+/*?
1032+ * Text: "debug_register failed %d\n"
1033+ * Severity: Warning
1034+ * Parameter:
1035+ * @1: ret
1036+ * Description:
1037+ * The claw driver failed to register with the ccw
1038+ * s390dbf facility. No DBF traces will be available.
1039+ * User action:
1040+ * Check the state of the dbf facility unload the
1041+ * the device driver and reload.
1042+ */
1043+
1044+/*?
1045+ * Text: "register_cu3088_discipline() failed rc=%d\n"
1046+ * Severity: Warning
1047+ * Parameter:
1048+ * @1: ret
1049+ * Description:
1050+ * The claw driver failed to register with the
1051+ * channel subsystem drivers. cu3088 driver
1052+ * may not be loaded or may not be operational.
1053+ * User action:
1054+ * Check the state of the cu3088 facility unload the
1055+ * the device driver and reload.
1056+ */
1057+
1058+/*? Text: "%s: %s: CLAW device %.8s: Received Control Packet\n" */
1059+/*? Text: "%s: %s: CLAW device %.8s: System validate completed.\n" */
1060+/*? Text: "%s: %s: CLAW device %.8s: Connection completed link_id=%d.\n" */
1061+/*? Text: "%s: %s: remote side is not ready\n" */
1062+/*? Text: "%s: %s: Unit Check with sense byte:0x%04x\n" */
1063+/*? Text: "%s: %s: write connection restarting\n" */
1064+/*? Text: "%s: %s: subchannel check for device: %04x - Sch Stat %02x Dev Stat %02x CPA - %04x\n" */
1065+/*? Text: "%s: %s: Unit Exception occurred in write channel\n" */
1066+/*? Text: "%s: %s: Resetting Event occurred:\n" */
1067+/*? Text: "%s: %s: Recv Conn Confirm:Vers=%d,link_id=%d,Corr=%d,Host appl=%.8s,WS appl=%.8s\n" */
1068+/*? Text: "%s: %s: Recv Conn Req: Vers=%d,link_id=%d,Corr=%d,HOST appl=%.8s,WS appl=%.8s\n" */
1069+/*? Text: "%s: %s: Recv Sys Validate Request: Vers=%d,link_id=%d,Corr=%d,WS name=%.8s,Host name=%.8s\n" */
1070+/*? Text: "%s: %s: Confirmed Now packing\n" */
1071+/*? Text: "%s: %s: Unit Check Occured in write channel\n" */
1072+/*? Text: "%s: %s: Restart is required after remote side recovers \n" */
1073+/*? Text: "%s: %s: sys Validate Rsize:%d Wsize:%d\n" */
1074+/*? Text: "%s: %s:readsize=%d writesize=%d readbuffer=%d writebuffer=%d read=0x%04x write=0x%04x\n" */
1075+/*? Text: "%s: %s:host_name:%.8s, adapter_name :%.8s api_type: %.8s\n" */
1076+/*? Text: "Driver unloaded\n" */
1077+/*? Text: "Loading %s\n" */
1078+/*? Text: "%s: will be removed.\n" */
1079+/*? Text: "%s: add for %s\n" */
1080+/*? Text: "%s: %s: shutting down \n" */
1081+/*? Text: "%s: CLAW device %.8s: System validate completed.\n" */
1082+/*? Text: "%s: %s: Disconnect: Vers=%d,link_id=%d,Corr=%d\n" */
1083+/*? Text: "%s: %s: Revc Conn Resp: Vers=%d,link_id=%d,Corr=%d,RC=%d,Host appl=%.8s, WS appl=%.8s\n" */
1084--- /dev/null
1085+++ b/Documentation/kmsg/s390/cpcmd
1086@@ -0,0 +1,17 @@
1087+/*?
1088+ * Text: "The cpcmd kernel function failed to allocate a response buffer\n"
1089+ * Severity: Warning
1090+ * Description:
1091+ * IPL code, console detection, and device drivers like vmcp or vmlogrdr use
1092+ * the cpcmd kernel function to send commands to the z/VM control program (CP).
1093+ * If a program that uses the cpcmd function does not allocate a contiguous
1094+ * response buffer below 2 GB guest real storage, cpcmd creates a bounce buffer
1095+ * to be used as the response buffer. Because of low memory or memory
1096+ * fragmentation, cpcmd could not create the bounce buffer.
1097+ * User action:
1098+ * Look for related page allocation failure messages and at the stack trace to
1099+ * find out which program or operation failed. Free some memory and retry the
1100+ * failed operation. Consider allocating more memory to your z/VM guest virtual
1101+ * machine.
1102+ */
1103+
1104--- /dev/null
1105+++ b/Documentation/kmsg/s390/cpu
1106@@ -0,0 +1,69 @@
1107+/*?
1108+ * Text: "Processor %d started, address %d, identification %06X\n"
1109+ * Severity: Informational
1110+ * Parameter:
1111+ * @1: logical CPU number
1112+ * @2: CPU address
1113+ * @3: CPU identification number
1114+ * Description:
1115+ * The kernel detected a CPU with the given characteristics.
1116+ * User action:
1117+ * None.
1118+ */
1119+
1120+/*?
1121+ * Text: "Processor %d stopped\n"
1122+ * Severity: Informational
1123+ * Parameter:
1124+ * @1: logical CPU number
1125+ * Description:
1126+ * A logical CPU has been set offline.
1127+ * User action:
1128+ * None.
1129+ */
1130+
1131+/*?
1132+ * Text: "%d configured CPUs, %d standby CPUs\n"
1133+ * Severity: Informational
1134+ * Parameter:
1135+ * @1: number of configured CPUs
1136+ * @2: number of standby CPUs
1137+ * Description:
1138+ * The kernel detected the given number of configured and standby CPUs.
1139+ * User action:
1140+ * None.
1141+ */
1142+
1143+/*?
1144+ * Text: "The CPU configuration topology of the machine is:"
1145+ * Severity: Informational
1146+ * Description:
1147+ * The first six values of the topology information represent fields Mag1 to
1148+ * Mag6 of system-information block (SYSIB) 15.1.2. These fields specify the
1149+ * maximum numbers of topology-list entries (TLE) at successive topology nesting
1150+ * levels. The last value represents the MNest value of SYSIB 15.1.2 which
1151+ * specifies the maximum possible nesting that can be configured through
1152+ * dynamic changes. For details see the SYSIB 15.1.2 information in the
1153+ * "Principles of Operation."
1154+ * User action:
1155+ * None.
1156+ */
1157+
1158+/*?
1159+ * Text: "CPU %i exceeds the maximum %i and is excluded from the dump\n"
1160+ * Severity: Warning
1161+ * Parameter:
1162+ * @1: CPU number
1163+ * @2: maximum CPU number
1164+ * Description:
1165+ * The Linux kernel is used as a system dumper but it runs on more CPUs than
1166+ * it has been compiled for with the CONFIG_NR_CPUS kernel configuration
1167+ * option. The system dump will be created but information on one or more
1168+ * CPUs will be missing.
1169+ * User action:
1170+ * Update the system dump kernel to a newer version that supports more
1171+ * CPUs or reduce the number of installed CPUs and reproduce the problem
1172+ * that should be analyzed. If you send the system dump that prompted this
1173+ * message to a support organization, be sure to communicate that the dump
1174+ * does not include all CPU information.
1175+ */
1176--- /dev/null
1177+++ b/Documentation/kmsg/s390/ctcm
1178@@ -0,0 +1,199 @@
1179+/*?
1180+ * Text: "%s: An I/O-error occurred on the CTCM device\n"
1181+ * Severity: Error
1182+ * Parameter:
1183+ * @1: bus ID of the CTCM device
1184+ * Description:
1185+ * An I/O error was detected on one of the subchannels of the CTCM device.
1186+ * Depending on the error, the CTCM device driver might attempt an automatic
1187+ * recovery.
1188+ * User action:
1189+ * Check the status of the CTCM device, for example, with ifconfig. If the
1190+ * device is not operational, perform a manual recovery. See "Device Drivers,
1191+ * Features, and Commands" for details about how to recover a CTCM device.
1192+ */
1193+
1194+/*?
1195+ * Text: "%s: An adapter hardware operation timed out\n"
1196+ * Severity: Error
1197+ * Parameter:
1198+ * @1: bus ID of the CTCM device
1199+ * Description:
1200+ * The CTCM device uses an adapter to physically connect to its communication
1201+ * peer. An operation on this adapter timed out.
1202+ * User action:
1203+ * Check the status of the CTCM device, for example, with ifconfig. If the
1204+ * device is not operational, perform a manual recovery. See "Device Drivers,
1205+ * Features, and Commands" for details about how to recover a CTCM device.
1206+ */
1207+
1208+/*?
1209+ * Text: "%s: An error occurred on the adapter hardware\n"
1210+ * Severity: Error
1211+ * Parameter:
1212+ * @1: bus ID of the CTCM device
1213+ * Description:
1214+ * The CTCM device uses an adapter to physically connect to its communication
1215+ * peer. An operation on this adapter returned an error.
1216+ * User action:
1217+ * Check the status of the CTCM device, for example, with ifconfig. If the
1218+ * device is not operational, perform a manual recovery. See "Device Drivers,
1219+ * Features, and Commands" for details about how to recover a CTCM device.
1220+ */
1221+
1222+/*?
1223+ * Text: "%s: The communication peer has disconnected\n"
1224+ * Severity: Notice
1225+ * Parameter:
1226+ * @1: channel ID
1227+ * Description:
1228+ * The remote device has disconnected. Possible reasons are that the remote
1229+ * interface has been closed or that the operating system instance with the
1230+ * communication peer has been rebooted or shut down.
1231+ * User action:
1232+ * Check the status of the peer device. Ensure that the peer operating system
1233+ * instance is running and that the peer interface is operational.
1234+ */
1235+
1236+/*?
1237+ * Text: "%s: The remote operating system is not available\n"
1238+ * Severity: Notice
1239+ * Parameter:
1240+ * @1: channel ID
1241+ * Description:
1242+ * The operating system instance with the communication peer has disconnected.
1243+ * Possible reasons are that the operating system instance has been rebooted
1244+ * or shut down.
1245+ * User action:
1246+ * Ensure that the peer operating system instance is running and that the peer
1247+ * interface is operational.
1248+ */
1249+
1250+/*?
1251+ * Text: "%s: The adapter received a non-specific IRQ\n"
1252+ * Severity: Warning
1253+ * Parameter:
1254+ * @1: bus ID of the CTCM device
1255+ * Description:
1256+ * The adapter hardware used by the CTCM device received an IRQ that cannot
1257+ * be mapped to a particular device. This is a hardware problem.
1258+ * User action:
1259+ * Check the status of the CTCM device, for example, with ifconfig. Check if
1260+ * the connection to the remote device still works. If the CTCM device is not
1261+ * operational, set it offline and back online. If this does not resolve the
1262+ * problem, perform a manual recovery. See "Device Drivers, Features, and
1263+ * Commands" for details about how to recover a CTCM device. If this problem
1264+ * persists, gather Linux debug data, collect the hardware logs, and report the
1265+ * problem to your support organization.
1266+ */
1267+
1268+/*?
1269+ * Text: "%s: A check occurred on the subchannel\n"
1270+ * Severity: Warning
1271+ * Parameter:
1272+ * @1: bus ID of the CTCM device
1273+ * Description:
1274+ * A check condition has been detected on the subchannel.
1275+ * User action:
1276+ * Check if the connection to the remote device still works. If the CTCM device
1277+ * is not operational, set it offline and back online. If this does not resolve
1278+ * the problem, perform a manual recovery. See "Device Drivers, Features, and
1279+ * Commands" for details about how to recover a CTCM device. If this problem
1280+ * persists, gather Linux debug data and report the problem to your support
1281+ * organization.
1282+ */
1283+
1284+/*?
1285+ * Text: "%s: The communication peer is busy\n"
1286+ * Severity: Informational
1287+ * Parameter:
1288+ * @1: channel ID
1289+ * Description:
1290+ * A busy target device was reported. This might be a temporary problem.
1291+ * User action:
1292+ * If this problem persists or is reported frequently ensure that the target
1293+ * device is working properly.
1294+ */
1295+
1296+/*?
1297+ * Text: "%s: The specified target device is not valid\n"
1298+ * Severity: Error
1299+ * Parameter:
1300+ * @1: channel ID
1301+ * Description:
1302+ * A target device was called with a faulty device specification. This is an
1303+ * adapter hardware problem.
1304+ * User action:
1305+ * Gather Linux debug data, collect the hardware logs, and contact IBM support.
1306+ */
1307+
1308+/*?
1309+ * Text: "An I/O operation resulted in error %04x\n"
1310+ * Severity: Error
1311+ * Parameter:
1312+ * @1: channel ID
1313+ * @2: error information
1314+ * Description:
1315+ * A hardware operation ended with an error.
1316+ * User action:
1317+ * Check the status of the CTCM device, for example, with ifconfig. If the
1318+ * device is not operational, perform a manual recovery. See "Device Drivers,
1319+ * Features, and Commands" for details about how to recover a CTCM device.
1320+ * If this problem persists, gather Linux debug data, collect the hardware logs,
1321+ * and report the problem to your support organization.
1322+ */
1323+
1324+/*?
1325+ * Text: "%s: Initialization failed with RX/TX init handshake error %s\n"
1326+ * Severity: Warning
1327+ * Parameter:
1328+ * @1: bus ID of the CTCM device
1329+ * @2: error information
1330+ * Description:
1331+ * A problem occurred during the initialization of the connection. If the
1332+ * connection can be established after an automatic recovery, a success message
1333+ * is issued.
1334+ * User action:
1335+ * If the problem is not resolved by the automatic recovery process, check the
1336+ * local and remote device. If this problem persists, gather Linux debug data
1337+ * and report the problem to your support organization.
1338+ */
1339+
1340+/*?
1341+ * Text: "%s: The network backlog for %s is exceeded, package dropped\n"
1342+ * Severity: Warning
1343+ * Parameter:
1344+ * @1: bus ID of the CTCM device
1345+ * @2: calling function
1346+ * Description:
1347+ * There is more network traffic than can be handled by the device. The device
1348+ * is closed and some data has not been transmitted. The device might be
1349+ * recovered automatically.
1350+ * User action:
1351+ * Investigate and resolve the congestion. If necessary, set the device
1352+ * online to make it operational.
1353+ */
1354+
1355+/*?
1356+ * Text: "%s: The XID used in the MPC protocol is not valid, rc = %d\n"
1357+ * Severity: Warning
1358+ * Parameter:
1359+ * @1: bus ID of the CTCM device
1360+ * @2: return code
1361+ * Description:
1362+ * The exchange identification (XID) used by the CTCM device driver when
1363+ * in MPC mode is not valid.
1364+ * User action:
1365+ * Note the error information provided with this message and contact your
1366+ * support organization.
1367+ */
1368+
1369+/*? Text: "CTCM driver unloaded\n" */
1370+/*? Text: "%s: %s Internal error: net_device is NULL, ch = 0x%p\n" */
1371+/*? Text: "%s / register_cu3088_discipline failed, ret = %d\n" */
1372+/*? Text: "%s: %s: Internal error: Can't determine channel for interrupt device %s\n" */
1373+/*? Text: "CTCM driver initialized\n" */
1374+/*? Text: "%s: setup OK : r/w = %s/%s, protocol : %d\n" */
1375+/*? Text: "%s: Connected with remote side\n" */
1376+/*? Text: "%s: Restarting device\n" */
1377+
1378--- /dev/null
1379+++ b/Documentation/kmsg/s390/dcssblk
1380@@ -0,0 +1,162 @@
1381+/*?
1382+ * Text: "Adjacent DCSSs %s and %s are not contiguous\n"
1383+ * Severity: Error
1384+ * Parameter:
1385+ * @1: name 1
1386+ * @2: name 2
1387+ * Description:
1388+ * You can only map a set of two or more DCSSs to a single DCSS device if the
1389+ * DCSSs in the set form a contiguous memory space. The DCSS device cannot be
1390+ * created because there is a memory gap between two adjacent DCSSs.
1391+ * User action:
1392+ * Ensure that you have specified all DCSSs that belong to the set. Check the
1393+ * definitions of the DCSSs on the z/VM hypervisor to verify that they form
1394+ * a contiguous memory space.
1395+ */
1396+
1397+/*?
1398+ * Text: "DCSS %s and DCSS %s have incompatible types\n"
1399+ * Severity: Error
1400+ * Parameter:
1401+ * @1: name 1
1402+ * @2: name 2
1403+ * Description:
1404+ * You can only map a set of two or more DCSSs to a single DCSS device if
1405+ * either all DCSSs in the set have the same type or if the set contains DCSSs
1406+ * of the two types EW and EN but no other type. The DCSS device cannot be
1407+ * created because at least two of the specified DCSSs are not compatible.
1408+ * User action:
1409+ * Check the definitions of the DCSSs on the z/VM hypervisor to verify that
1410+ * their types are compatible.
1411+ */
1412+
1413+/*?
1414+ * Text: "DCSS %s is of type SC and cannot be loaded as exclusive-writable\n"
1415+ * Severity: Error
1416+ * Parameter:
1417+ * @1: device name
1418+ * Description:
1419+ * You cannot load a DCSS device in exclusive-writable access mode if the DCSS
1420+ * devise maps to one or more DCSSs of type SC.
1421+ * User action:
1422+ * Load the DCSS in shared access mode.
1423+ */
1424+
1425+/*?
1426+ * Text: "DCSS device %s is removed after a failed access mode change\n"
1427+ * Severity: Error
1428+ * Parameter:
1429+ * @1: device name
1430+ * Description:
1431+ * To change the access mode of a DCSS device, all DCSSs that map to the device
1432+ * were unloaded. Reloading the DCSSs for the new access mode failed and the
1433+ * device is removed.
1434+ * User action:
1435+ * Look for related messages to find out why the DCSSs could not be reloaded.
1436+ * If necessary, add the device again.
1437+ */
1438+
1439+/*?
1440+ * Text: "All DCSSs that map to device %s are saved\n"
1441+ * Severity: Informational
1442+ * Parameter:
1443+ * @1: device name
1444+ * Description:
1445+ * A save request has been submitted for the DCSS device. Changes to all DCSSs
1446+ * that map to the device are saved permanently.
1447+ * User action:
1448+ * None.
1449+ */
1450+
1451+/*?
1452+ * Text: "Device %s is in use, its DCSSs will be saved when it becomes idle\n"
1453+ * Severity: Informational
1454+ * Parameter:
1455+ * @1: device name
1456+ * Description:
1457+ * A save request for the device has been deferred until the device becomes
1458+ * idle. Then changes to all DCSSs that the device maps to will be saved
1459+ * permanently.
1460+ * User action:
1461+ * None.
1462+ */
1463+
1464+/*?
1465+ * Text: "A pending save request for device %s has been canceled\n"
1466+ * Severity: Informational
1467+ * Parameter:
1468+ * @1: device name
1469+ * Description:
1470+ * A save request for the DCSSs that map to a DCSS device has been pending
1471+ * while the device was in use. This save request has been canceled. Changes to
1472+ * the DCSSs will not be saved permanently.
1473+ * User action:
1474+ * None.
1475+ */
1476+
1477+/*?
1478+ * Text: "Loaded %s with total size %lu bytes and capacity %lu sectors\n"
1479+ * Severity: Informational
1480+ * Parameter:
1481+ * @1: DCSS names
1482+ * @2: total size in bytes
1483+ * @3: total size in 512 byte sectors
1484+ * Description:
1485+ * The listed DCSSs have been verified as contiguous and successfully loaded.
1486+ * The displayed sizes are the sums of all DCSSs.
1487+ * User action:
1488+ * None.
1489+ */
1490+
1491+/*?
1492+ * Text: "Device %s cannot be removed because it is not a known device\n"
1493+ * Severity: Warning
1494+ * Parameter:
1495+ * @1: device name
1496+ * Description:
1497+ * The DCSS device you are trying to remove is not known to the DCSS device
1498+ * driver.
1499+ * User action:
1500+ * List the entries under /sys/devices/dcssblk/ to see the names of the
1501+ * existing DCSS devices.
1502+ */
1503+
1504+/*?
1505+ * Text: "Device %s cannot be removed while it is in use\n"
1506+ * Severity: Warning
1507+ * Parameter:
1508+ * @1: device name
1509+ * Description:
1510+ * You are trying to remove a device that is in use.
1511+ * User action:
1512+ * Make sure that all users of the device close the device before you try to
1513+ * remove it.
1514+ */
1515+
1516+/*?
1517+ * Text: "Device %s has become idle and is being saved now\n"
1518+ * Severity: Informational
1519+ * Parameter:
1520+ * @1: device name
1521+ * Description:
1522+ * A save request for the DCSSs that map to a DCSS device has been pending
1523+ * while the device was in use. The device has become idle and all changes
1524+ * to the DCSSs are now saved permanently.
1525+ * User action:
1526+ * None.
1527+ */
1528+
1529+/*?
1530+ * Text: "Writing to %s failed because it is a read-only device\n"
1531+ * Severity: Warning
1532+ * Parameter:
1533+ * @1: device name
1534+ * Description:
1535+ * The DCSS device is in shared access mode and cannot be written to. Depending
1536+ * on the type of the DCSSs that the device maps to, you might be able to
1537+ * change the access mode to exclusive-writable.
1538+ * User action:
1539+ * If the DCSSs of the device are of type SC, do not attempt to write to the
1540+ * device. If the DCSSs of the device are of type ER or SR, change the access
1541+ * mode to exclusive-writable before writing to the device.
1542+ */
1543--- /dev/null
1544+++ b/Documentation/kmsg/s390/extmem
1545@@ -0,0 +1,290 @@
1546+/*?
1547+ * Text: "Querying a DCSS type failed with rc=%ld\n"
1548+ * Severity: Warning
1549+ * Parameter:
1550+ * @1: return code
1551+ * Description:
1552+ * The DCSS kernel interface used z/VM diagnose call X'64' to query the
1553+ * type of a DCSS. z/VM failed to determine the type and returned an error.
1554+ * User action:
1555+ * Look for related messages to find out which DCSS is affected.
1556+ * For details about the return codes see the section about DIAGNOSE Code
1557+ * X'64' in "z/VM CP Programming Services".
1558+ */
1559+
1560+/*?
1561+ * Text: "Loading DCSS %s failed with rc=%ld\n"
1562+ * Severity: Warning
1563+ * Parameter:
1564+ * @1: DCSS name
1565+ * @2: return code
1566+ * Description:
1567+ * The DCSS kernel interface used diagnose call X'64' to load a DCSS. z/VM
1568+ * failed to load the DCSS and returned an error.
1569+ * User action:
1570+ * For details about the return codes see the section about DIAGNOSE Code
1571+ * X'64' in "z/VM CP Programming Services".
1572+ */
1573+
1574+/*?
1575+ * Text: "DCSS %s of range %p to %p and type %s loaded as exclusive-writable\n"
1576+ * Severity: Informational
1577+ * Parameter:
1578+ * @1: DCSS name
1579+ * @2: starting page address
1580+ * @3: ending page address
1581+ * @4: DCSS type
1582+ * Description:
1583+ * The DCSS was loaded successfully in exclusive-writable access mode.
1584+ * User action:
1585+ * None.
1586+ */
1587+
1588+/*?
1589+ * Text: "DCSS %s of range %p to %p and type %s loaded in shared access mode\n"
1590+ * Severity: Informational
1591+ * Parameter:
1592+ * @1: DCSS name
1593+ * @2: starting page address
1594+ * @3: ending page address
1595+ * @4: DCSS type
1596+ * Description:
1597+ * The DCSS was loaded successfully in shared access mode.
1598+ * User action:
1599+ * None.
1600+ */
1601+
1602+/*?
1603+ * Text: "DCSS %s is already in the requested access mode\n"
1604+ * Severity: Informational
1605+ * Parameter:
1606+ * @1: DCSS name
1607+ * Description:
1608+ * A request to reload a DCSS with a new access mode has been rejected
1609+ * because the new access mode is the same as the current access mode.
1610+ * User action:
1611+ * None.
1612+ */
1613+
1614+/*?
1615+ * Text: "DCSS %s is in use and cannot be reloaded\n"
1616+ * Severity: Warning
1617+ * Parameter:
1618+ * @1: DCSS name
1619+ * Description:
1620+ * Reloading a DCSS in a different access mode has failed because the DCSS is
1621+ * being used by one or more device drivers. The DCSS remains loaded with the
1622+ * current access mode.
1623+ * User action:
1624+ * Ensure that the DCSS is not used by any device driver then try again to
1625+ * load the DCSS with the new access mode.
1626+ */
1627+
1628+/*?
1629+ * Text: "DCSS %s overlaps with used memory resources and cannot be reloaded\n"
1630+ * Severity: Warning
1631+ * Parameter:
1632+ * @1: DCSS name
1633+ * Description:
1634+ * The DCSS has been unloaded and cannot be reloaded because it overlaps with
1635+ * another loaded DCSS or with the memory of the z/VM guest virtual machine
1636+ * (guest storage).
1637+ * User action:
1638+ * Ensure that no DCSS is loaded that has overlapping memory resources
1639+ * with the DCSS you want to reload. If the DCSS overlaps with guest storage,
1640+ * use the DEF STORE CONFIG z/VM CP command to create a sufficient storage gap
1641+ * for the DCSS. For details, see the section about the DCSS device driver in
1642+ * "Device Drivers, Features, and Commands".
1643+ */
1644+
1645+/*?
1646+ * Text: "Reloading DCSS %s failed with rc=%ld\n"
1647+ * Severity: Warning
1648+ * Parameter:
1649+ * @1: DCSS name
1650+ * @2: return code
1651+ * Description:
1652+ * The DCSS kernel interface used z/VM diagnose call X'64' to reload a DCSS
1653+ * in a different access mode. The DCSS was unloaded but z/VM failed to reload
1654+ * the DCSS.
1655+ * User action:
1656+ * For details about the return codes see the section about DIAGNOSE Code
1657+ * X'64' in "z/VM CP Programming Services".
1658+ */
1659+
1660+/*?
1661+ * Text: "Unloading unknown DCSS %s failed\n"
1662+ * Severity: Error
1663+ * Parameter:
1664+ * @1: DCSS name
1665+ * Description:
1666+ * The specified DCSS cannot be unloaded. The DCSS is known to the DCSS device
1667+ * driver but not to the DCSS kernel interface. This problem indicates a
1668+ * program error in extmem.c.
1669+ * User action:
1670+ * Report this problem to your support organization.
1671+ */
1672+
1673+/*?
1674+ * Text: "Saving unknown DCSS %s failed\n"
1675+ * Severity: Error
1676+ * Parameter:
1677+ * @1: DCSS name
1678+ * Description:
1679+ * The specified DCSS cannot be saved. The DCSS is known to the DCSS device
1680+ * driver but not to the DCSS kernel interface. This problem indicates a
1681+ * program error in extmem.c.
1682+ * User action:
1683+ * Report this problem to your support organization.
1684+ */
1685+
1686+/*?
1687+ * Text: "Saving a DCSS failed with DEFSEG response code %i\n"
1688+ * Severity: Error
1689+ * Parameter:
1690+ * @1: response-code
1691+ * Description:
1692+ * The DEFSEG z/VM CP command failed to permanently save changes to a DCSS.
1693+ * User action:
1694+ * Look for related messages to find the cause of this error. See also message
1695+ * HCP<response-code>E in the DEFSEG section of the "z/VM CP Command and
1696+ * Utility Reference".
1697+ */
1698+
1699+/*?
1700+ * Text: "Saving a DCSS failed with SAVESEG response code %i\n"
1701+ * Severity: Error
1702+ * Parameter:
1703+ * @1: response-code
1704+ * Description:
1705+ * The SAVESEG z/VM CP command failed to permanently save changes to a DCSS.
1706+ * User action:
1707+ * Look for related messages to find the cause of this error. See also message
1708+ * HCP<response-code>E in the SAVESEG section of the "z/VM CP Command and
1709+ * Utility Reference".
1710+ */
1711+
1712+/*?
1713+ * Text: "DCSS %s cannot be loaded or queried\n"
1714+ * Severity: Error
1715+ * Parameter:
1716+ * @1: DCSS name
1717+ * Description:
1718+ * You cannot load or query the specified DCSS because it either is not defined
1719+ * in the z/VM hypervisor, or it is a class S DCSS, or it is above 2047 MB
1720+ * and he Linux system is a 31-bit system.
1721+ * User action:
1722+ * Use the CP command "QUERY NSS" to find out if the DCSS is a valid
1723+ * DCSS that can be loaded.
1724+ */
1725+
1726+/*?
1727+ * Text: "DCSS %s cannot be loaded or queried without z/VM\n"
1728+ * Severity: Error
1729+ * Parameter:
1730+ * @1: DCSS name
1731+ * Description:
1732+ * A DCSS is a z/VM resource. Your Linux instance is not running as a z/VM
1733+ * guest operating system and, therefore, cannot load DCSSs.
1734+ * User action:
1735+ * Load DCSSs only on Linux instances that run as z/VM guest operating systems.
1736+ */
1737+
1738+/*?
1739+ * Text: "Loading or querying DCSS %s resulted in a hardware error\n"
1740+ * Severity: Error
1741+ * Parameter:
1742+ * @1: DCSS name
1743+ * Description:
1744+ * Either the z/VM DIAGNOSE X'64' query or load call issued for the DCSS
1745+ * returned with an error.
1746+ * User action:
1747+ * Look for previous extmem message to find the return code from the
1748+ * DIAGNOSE X'64' query or load call. For details about the return codes see
1749+ * the section about DIAGNOSE Code X'64' in "z/VM CP Programming Services".
1750+ */
1751+
1752+/*?
1753+ * Text: "DCSS %s has multiple page ranges and cannot be loaded or queried\n"
1754+ * Severity: Error
1755+ * Parameter:
1756+ * @1: DCSS name
1757+ * Description:
1758+ * You can only load or query a DCSS with multiple page ranges if:
1759+ * - The DCSS has 6 or fewer page ranges
1760+ * - The page ranges form a contiguous address space
1761+ * - The page ranges are of type EW or EN
1762+ * User action:
1763+ * Check the definition of the DCSS to make sure that the conditions for
1764+ * DCSSs with multiple page ranges are met.
1765+ */
1766+
1767+/*?
1768+ * Text: "%s needs used memory resources and cannot be loaded or queried\n"
1769+ * Severity: Error
1770+ * Parameter:
1771+ * @1: DCSS name
1772+ * Description:
1773+ * You cannot load or query the DCSS because it overlaps with an already
1774+ * loaded DCSS or with the memory of the z/VM guest virtual machine
1775+ * (guest storage).
1776+ * User action:
1777+ * Ensure that no DCSS is loaded that has overlapping memory resources
1778+ * with the DCSS you want to load or query. If the DCSS overlaps with guest
1779+ * storage, use the DEF STORE CONFIG z/VM CP command to create a sufficient
1780+ * storage gap for the DCSS. For details, see the section about the DCSS
1781+ * device driver in "Device Drivers, Features, and Commands".
1782+ */
1783+
1784+/*?
1785+ * Text: "DCSS %s is already loaded in a different access mode\n"
1786+ * Severity: Error
1787+ * Parameter:
1788+ * @1: DCSS name
1789+ * Description:
1790+ * The DCSS you are trying to load has already been loaded in a different
1791+ * access mode. You cannot simultaneously load the DCSS in different modes.
1792+ * User action:
1793+ * Reload the DCSS in a different mode or load it with the same mode in which
1794+ * it has already been loaded.
1795+ */
1796+
1797+/*?
1798+ * Text: "There is not enough memory to load or query DCSS %s\n"
1799+ * Severity: Error
1800+ * Parameter:
1801+ * @1: DCSS name
1802+ * Description:
1803+ * The available memory is not enough to load or query the DCSS.
1804+ * User action:
1805+ * Free some memory and repeat the failed operation.
1806+ */
1807+
1808+/*?
1809+ * Text: "DCSS %s overlaps with used storage and cannot be loaded\n"
1810+ * Severity: Error
1811+ * Parameter:
1812+ * @1: DCSS name
1813+ * Description:
1814+ * You cannot load the DCSS because it overlaps with an already loaded DCSS
1815+ * or with the memory of the z/VM guest virtual machine (guest storage).
1816+ * User action:
1817+ * Ensure that no DCSS is loaded that has overlapping memory resources
1818+ * with the DCSS you want to load. If the DCSS overlaps with guest storage,
1819+ * use the DEF STORE CONFIG z/VM CP command to create a sufficient storage gap
1820+ * for the DCSS. For details, see the section about the DCSS device driver in
1821+ * "Device Drivers, Features, and Commands".
1822+ */
1823+
1824+/*?
1825+ * Text: "DCSS %s exceeds the kernel mapping range (%lu) and cannot be loaded\n"
1826+ * Severity: Error
1827+ * Parameter:
1828+ * @1: DCSS name
1829+ * @2: kernel mapping range in bytes
1830+ * Description:
1831+ * You cannot load the DCSS because it exceeds the kernel mapping range limit.
1832+ * User action:
1833+ * Ensure that the DCSS range is defined below the kernel mapping range.
1834+ */
1835+
1836--- /dev/null
1837+++ b/Documentation/kmsg/s390/hypfs
1838@@ -0,0 +1,56 @@
1839+/*?
1840+ * Text: "The hardware system does not support hypfs\n"
1841+ * Severity: Error
1842+ * Description:
1843+ * hypfs requires DIAGNOSE Code X'204' but this diagnose code is not available
1844+ * on your hardware. You need more recent hardware to use hypfs.
1845+ * User action:
1846+ * None.
1847+ */
1848+
1849+/*?
1850+ * Text: "The hardware system does not provide all functions required by hypfs\n"
1851+ * Severity: Error
1852+ * Description:
1853+ * hypfs requires DIAGNOSE Code X'224' but this diagnode code is not available
1854+ * on your hardware. You need more recent hardware to use hypfs.
1855+ * User action:
1856+ * None.
1857+ */
1858+
1859+/*?
1860+ * Text: "Updating the hypfs tree failed\n"
1861+ * Severity: Error
1862+ * Description:
1863+ * There was not enough memory available to update the hypfs tree.
1864+ * User action:
1865+ * Free some memory and try again to update the hypfs tree. Consider assigning
1866+ * more memory to your LPAR or z/VM guest virtual machine.
1867+ */
1868+
1869+/*?
1870+ * Text: "%s is not a valid mount option\n"
1871+ * Severity: Error
1872+ * Parameter:
1873+ * @1: mount option
1874+ * Description:
1875+ * hypfs has detected mount options that are not valid.
1876+ * User action:
1877+ * See "Device Drivers Features and Commands" for information about valid
1878+ * mount options for hypfs.
1879+ */
1880+
1881+/*?
1882+ * Text: "Initialization of hypfs failed with rc=%i\n"
1883+ * Severity: Error
1884+ * Parameter:
1885+ * @1: error code
1886+ * Description:
1887+ * Initialization of hypfs failed because of resource or hardware constraints.
1888+ * Possible reasons for this problem are insufficient free memory or missing
1889+ * hardware interfaces.
1890+ * User action:
1891+ * See errno.h for information about the error codes.
1892+ */
1893+
1894+/*? Text: "Hypervisor filesystem mounted\n" */
1895--- /dev/null
1896+++ b/Documentation/kmsg/s390/iucv
1897@@ -0,0 +1,20 @@
1898+/*?
1899+ * Text: "Defining an interrupt buffer on CPU %i failed with 0x%02x (%s)\n"
1900+ * Severity: Warning
1901+ * Parameter:
1902+ * @1: CPU number
1903+ * @2: hexadecimal error value
1904+ * @3: short error code explanation
1905+ * Description:
1906+ * Defining an interrupt buffer for external interrupts failed. Error
1907+ * value 0x03 indicates a problem with the z/VM directory entry of the
1908+ * z/VM guest virtual machine. This problem can also be caused by a
1909+ * program error.
1910+ * User action:
1911+ * If the error value is 0x03, examine the z/VM directory entry of your
1912+ * z/VM guest virtual machine. If the directory entry is correct or if the
1913+ * error value is not 0x03, report this problem to your support organization.
1914+ */
1915+
1916+/*? Text: "iucv_external_interrupt: out of memory\n" */
1917+
1918--- /dev/null
1919+++ b/Documentation/kmsg/s390/lcs
1920@@ -0,0 +1,160 @@
1921+/*?
1922+ * Text: "%s: Allocating a socket buffer to interface %s failed\n"
1923+ * Severity: Error
1924+ * Parameter:
1925+ * @1: bus ID of the LCS device
1926+ * @2: network interface
1927+ * Description:
1928+ * LAN channel station (LCS) devices require a socket buffer (SKB) structure
1929+ * for storing incoming data. The LCS device driver failed to allocate an SKB
1930+ * structure to the LCS device. A likely cause of this problem is memory
1931+ * constraints.
1932+ * User action:
1933+ * Free some memory and repeat the failed operation.
1934+ */
1935+
1936+/*?
1937+ * Text: "%s: Shutting down the LCS device failed\n "
1938+ * Severity: Error
1939+ * Parameter:
1940+ * @1: bus ID of the LCS device
1941+ * Description:
1942+ * A request to shut down a LAN channel station (LCS) device resulted in an
1943+ * error. The error is logged in the LCS trace at trace level 4.
1944+ * User action:
1945+ * Try again to shut down the device. If the error persists, see the LCS trace
1946+ * to find out what causes the error.
1947+ */
1948+
1949+/*?
1950+ * Text: "%s: Detecting a network adapter for LCS devices failed with rc=%d (0x%x)\n"
1951+ * Severity: Warning
1952+ * Parameter:
1953+ * @1: lcs_detect return code in decimal notation
1954+ * @2: lcs_detect return code in hexadecimal notation
1955+ * Description:
1956+ * The LCS device driver could not initialize a network adapter.
1957+ * User action:
1958+ * Note the return codes from the error message and contact IBM support.
1959+ */
1960+
1961+/*?
1962+ * Text: "%s: A recovery process has been started for the LCS device\n"
1963+ * Severity: Warning
1964+ * Parameter:
1965+ * @1: bus ID of the LCS device
1966+ * Description:
1967+ * The LAN channel station (LCS) device is shut down and restarted. The recovery
1968+ * process might have been initiated by a user or started automatically as a
1969+ * response to a device problem.
1970+ * User action:
1971+ * Wait until a message indicates the completion of the recovery process.
1972+ */
1973+
1974+/*?
1975+ * Text: "%s: An I/O-error occurred on the LCS device\n"
1976+ * Severity: Warning
1977+ * Parameter:
1978+ * @1: bus ID of the LCS device
1979+ * Description:
1980+ * The LAN channel station (LCS) device reported a problem that can be recovered
1981+ * by the LCS device driver. Repeated occurrences of this problem indicate a
1982+ * malfunctioning device.
1983+ * User action:
1984+ * If this problem occurs frequently, initiate a recovery process for the
1985+ * device, for example, by writing '1' to the 'recover' sysfs attribute of the
1986+ * device.
1987+ */
1988+
1989+/*?
1990+ * Text: "%s: A command timed out on the LCS device\n"
1991+ * Severity: Warning
1992+ * Parameter:
1993+ * @1: bus ID of the LCS device
1994+ * Description:
1995+ * The LAN channel station (LCS) device reported a problem that can be recovered
1996+ * by the LCS device driver. Repeated occurrences of this problem indicate a
1997+ * malfunctioning device.
1998+ * User action:
1999+ * If this problem occurs frequently, initiate a recovery process for the
2000+ * device, for example, by writing '1' to the 'recover' sysfs attribute of the
2001+ * device.
2002+ */
2003+
2004+/*?
2005+ * Text: "%s: An error occurred on the LCS device, rc=%ld\n"
2006+ * Severity: Warning
2007+ * Parameter:
2008+ * @1: bus ID of the LCS device
2009+ * @2: return code
2010+ * Description:
2011+ * The LAN channel station (LCS) device reported a problem that can be recovered
2012+ * by the LCS device driver. Repeated occurrences of this problem indicate a
2013+ * malfunctioning device.
2014+ * User action:
2015+ * If this problem occurs frequently, initiate a recovery process for the
2016+ * device, for example, by writing '1' to the 'recover' sysfs attribute of the
2017+ * device.
2018+ */
2019+
2020+/*?
2021+ * Text: "%s: The LCS device stopped because of an error, dstat=0x%X, cstat=0x%X \n"
2022+ * Severity: Warning
2023+ * Parameter:
2024+ * @1: bus ID of the LCS device
2025+ * @2: device status
2026+ * @3: subchannel status
2027+ * Description:
2028+ * The LAN channel station (LCS) device reported an error. The LCS device driver
2029+ * might start a device recovery process.
2030+ * User action:
2031+ * If the device driver does not start a recovery process, initiate a recovery
2032+ * process, for example, by writing '1' to the 'recover' sysfs attribute of the
2033+ * device. If the problem persists, note the status information provided with
2034+ * the message and contact IBM support.
2035+ */
2036+
2037+/*?
2038+ * Text: "%s: Starting an LCS device resulted in an error, rc=%d!\n"
2039+ * Severity: Error
2040+ * Parameter:
2041+ * @1: bus ID of the LCS device
2042+ * @2: ccw_device_start return code in decimal notation
2043+ * Description:
2044+ * The LAN channel station (LCS) device driver failed to initialize an LCS
2045+ * device. The device is not operational.
2046+ * User action:
2047+ * Initiate a recovery process, for example, by writing '1' to the 'recover'
2048+ * sysfs attribute of the device. If the problem persists, contact IBM support.
2049+ */
2050+
2051+/*?
2052+ * Text: "%s: Sending data from the LCS device to the LAN failed with rc=%d\n"
2053+ * Severity: Warning
2054+ * Parameter:
2055+ * @1: bus ID of the LCS device
2056+ * @2: ccw_device_resume return code in decimal notation
2057+ * Description:
2058+ * The LAN channel station (LCS) device driver could not send data to the LAN
2059+ * using the LCS device. This might be a temporary problem. Operations continue
2060+ * on the LCS device.
2061+ * User action:
2062+ * If this problem occurs frequently, initiate a recovery process, for example,
2063+ * by writing '1' to the 'recover' sysfs attribute of the device. If the
2064+ * problem persists, contact IBM support.
2065+ */
2066+
2067+/*? Text: "Query IPAssist failed. Assuming unsupported!\n" */
2068+/*? Text: "Stoplan for %s initiated by LGW.\n" */
2069+/*? Text: "Not enough memory to add new multicast entry!\n" */
2070+/*? Text: "Not enough memory for debug facility.\n" */
2071+/*? Text: "Adding multicast address failed. Table possibly full!\n" */
2072+/*? Text: "Error in opening device!\n" */
2073+/*? Text: "LCS device %s %s IPv6 support\n" */
2074+/*? Text: "Device %s successfully recovered!\n" */
2075+/*? Text: "LCS device %s %s Multicast support\n" */
2076+/*? Text: " Initialization failed\n" */
2077+/*? Text: "Loading %s\n" */
2078+/*? Text: "Initialization failed\n" */
2079+/*? Text: "Terminating lcs module.\n" */
2080+/*? Text: "Device %s could not be recovered!\n" */
2081--- /dev/null
2082+++ b/Documentation/kmsg/s390/monreader
2083@@ -0,0 +1,127 @@
2084+/*?
2085+ * Text: "Reading monitor data failed with rc=%i\n"
2086+ * Severity: Error
2087+ * Parameter:
2088+ * @1: return code
2089+ * Description:
2090+ * The z/VM *MONITOR record device driver failed to read monitor data
2091+ * because the IUCV REPLY function failed. The read function against
2092+ * the monitor record device returns EIO. All monitor data that has been read
2093+ * since the last read with 0 size is incorrect.
2094+ * User action:
2095+ * Disregard all monitor data that has been read since the last read with
2096+ * 0 size. If the device driver has been compiled as a separate module, unload
2097+ * and reload the monreader module. If the device driver has been compiled
2098+ * into the kernel, reboot Linux. For more information about possible causes
2099+ * of the error see the IUCV section in "z/VM CP Programming Services" and
2100+ * the *MONITOR section in "z/VM Performance".
2101+ */
2102+
2103+/*?
2104+ * Text: "z/VM *MONITOR system service disconnected with rc=%i\n"
2105+ * Severity: Error
2106+ * Parameter:
2107+ * @1: IPUSER SEVER return code
2108+ * Description:
2109+ * The z/VM *MONITOR record device driver receives monitor records through
2110+ * an IUCV connection to the z/VM *MONITOR system service. This connection
2111+ * has been severed and the read function of the z/VM *MONITOR device driver
2112+ * returns EIO. All data received since the last read with 0 size is incorrect.
2113+ * User action:
2114+ * Disregard all monitor data read since the last read with 0 size. Close and
2115+ * reopen the monitor record device. For information about the IPUSER SEVER
2116+ * return codes see "z/VM Performance".
2117+ */
2118+
2119+/*?
2120+ * Text: "The read queue for monitor data is full\n"
2121+ * Severity: Warning
2122+ * Description:
2123+ * The read function of the z/VM *MONITOR device driver returns EOVERFLOW
2124+ * because not enough monitor data has been read since the monitor device
2125+ * has been opened. Monitor data already read are valid and subsequent reads
2126+ * return valid data but some intermediate data might be missing.
2127+ * User action:
2128+ * Be aware that monitor data might be missing. Assure that you regularly
2129+ * read monitor data after opening the monitor record device.
2130+ */
2131+
2132+/*?
2133+ * Text: "Connecting to the z/VM *MONITOR system service failed with rc=%i\n"
2134+ * Severity: Error
2135+ * Parameter:
2136+ * @1: IUCV CONNECT return code
2137+ * Description:
2138+ * The z/VM *MONITOR record device driver receives monitor records through
2139+ * an IUCV connection to the z/VM *MONITOR system service. This connection
2140+ * could not be established when the monitor record device was opened. If
2141+ * the return code is 15, your z/VM guest virtual machine is not authorized
2142+ * to connect to the *MONITOR system service.
2143+ * User action:
2144+ * If the return code is 15, ensure that the IUCV *MONITOR statement is
2145+ * included in the z/VM directory entry for your z/VM guest virtual machine.
2146+ * For other IUCV CONNECT return codes see the IUCV section in "CP Programming
2147+ * Services" and the *MONITOR section in "z/VM Performance".
2148+ */
2149+
2150+/*?
2151+ * Text: "Disconnecting the z/VM *MONITOR system service failed with rc=%i\n"
2152+ * Severity: Warning
2153+ * Parameter:
2154+ * @1: IUCV SEVER return code
2155+ * Description:
2156+ * The z/VM *MONITOR record device driver receives monitor data through an
2157+ * IUCV connection to the z/VM *MONITOR system service. This connection
2158+ * could not be closed when the monitor record device was closed. You might
2159+ * not be able to resume monitoring.
2160+ * User action:
2161+ * No immediate action is necessary. If you cannot open the monitor record
2162+ * device in the future, reboot Linux. For information about the IUCV SEVER
2163+ * return codes see the IUCV section in "CP Programming Services" and the
2164+ * *MONITOR section in "z/VM Performance".
2165+ */
2166+
2167+/*?
2168+ * Text: "The z/VM *MONITOR record device driver cannot be loaded without z/VM\n"
2169+ * Severity: Error
2170+ * Description:
2171+ * The z/VM *MONITOR record device driver uses z/VM system services to provide
2172+ * monitor data about z/VM guest operating systems to applications on Linux.
2173+ * On Linux instances that run in environments other than the z/VM hypervisor,
2174+ * the z/VM *MONITOR record device driver does not provide any useful
2175+ * function and the corresponding monreader module cannot be loaded.
2176+ * User action:
2177+ * Load the z/VM *MONITOR record device driver only on Linux instances that run
2178+ * as guest operating systems of the z/VM hypervisor. If the z/VM *MONITOR
2179+ * record device driver has been compiled into the kernel, ignore this message.
2180+ */
2181+
2182+/*?
2183+ * Text: "The z/VM *MONITOR record device driver failed to register with IUCV\n"
2184+ * Severity: Error
2185+ * Description:
2186+ * The z/VM *MONITOR record device driver receives monitor data through an IUCV
2187+ * connection and needs to register with the IUCV device driver. This
2188+ * registration failed and the z/VM *MONITOR record device driver was not
2189+ * loaded. A possible cause of this problem is insufficient memory.
2190+ * User action:
2191+ * Free some memory and try again to load the module. If the z/VM *MONITOR
2192+ * record device driver has been compiled into the kernel, you might have to
2193+ * configure more memory and reboot Linux. If you do not want to read monitor
2194+ * data, ignore this message.
2195+ */
2196+
2197+/*?
2198+ * Text: "The specified *MONITOR DCSS %s does not have the required type SC\n"
2199+ * Severity: Error
2200+ * Parameter:
2201+ * @1: DCSS name
2202+ * Description:
2203+ * The DCSS that was specified with the monreader.mondcss kernel parameter or
2204+ * with the mondcss module parameter cannot be a *MONITOR DCSS because it is
2205+ * not of type SC.
2206+ * User action:
2207+ * Confirm that you are using the name of the DCSS that has been configured as
2208+ * the *MONITOR DCSS on the z/VM hypervisor. If the default name, MONDCSS, is
2209+ * used, omit the monreader.mondcss or mondcss parameter.
2210+ */
2211--- /dev/null
2212+++ b/Documentation/kmsg/s390/monwriter
2213@@ -0,0 +1,16 @@
2214+/*?
2215+ * Text: "Writing monitor data failed with rc=%i\n"
2216+ * Severity: Error
2217+ * Parameter:
2218+ * @1: return code
2219+ * Description:
2220+ * The monitor stream application device driver used the z/VM diagnose call
2221+ * DIAG X'DC' to start writing monitor data. z/VM returned an error and the
2222+ * monitor data cannot be written. If the return code is 5, your z/VM guest
2223+ * virtual machine is not authorized to write monitor data.
2224+ * User action:
2225+ * If the return code is 5, ensure that your z/VM guest virtual machine's
2226+ * entry in the z/VM directory includes the OPTION APPLMON statement.
2227+ * For other return codes see the section about DIAGNOSE Code X'DC'
2228+ * in "z/VM CP Programming Services".
2229+ */
2230--- /dev/null
2231+++ b/Documentation/kmsg/s390/netiucv
2232@@ -0,0 +1,139 @@
2233+/*?
2234+ * Text: "%s: The peer interface of the IUCV device has closed the connection\n"
2235+ * Severity: Informational
2236+ * Parameter:
2237+ * @1: bus ID of the IUCV device
2238+ * Description:
2239+ * The peer interface on the remote z/VM guest virtual machine has closed the
2240+ * connection. Do not expect further packets on this interface. Any packets
2241+ * you send to this interface will be dropped.
2242+ * User action:
2243+ * None.
2244+ */
2245+
2246+/*?
2247+ * Text: "%s: The IUCV device failed to connect to z/VM guest %s\n"
2248+ * Severity: Warning
2249+ * Parameter:
2250+ * @1: bus ID of the IUCV device
2251+ * @2: z/VM user ID
2252+ * Description:
2253+ * The connection cannot be established because the z/VM guest virtual
2254+ * machine with the peer interface is not running.
2255+ * User action:
2256+ * Ensure that the z/VM guest virtual machine with the peer interface is
2257+ * running; then try again to establish the connection.
2258+ */
2259+
2260+/*?
2261+ * Text: "%s: The IUCV device failed to connect to the peer on z/VM guest %s\n"
2262+ * Severity: Warning
2263+ * Parameter:
2264+ * @1: bus ID of the IUCV device
2265+ * @2: z/VM user ID
2266+ * Description:
2267+ * The connection cannot be established because the z/VM guest virtual machine
2268+ * with the peer interface is not configured for IUCV connections.
2269+ * User action:
2270+ * Configure the z/VM guest virtual machine with the peer interface for IUCV
2271+ * connections; then try again to establish the connection.
2272+ */
2273+
2274+/*?
2275+ * Text: "%s: Connecting the IUCV device would exceed the maximum number of IUCV connections\n"
2276+ * Severity: Error
2277+ * Parameter:
2278+ * @1: bus ID of the IUCV device
2279+ * Description:
2280+ * The connection cannot be established because the maximum number of IUCV
2281+ * connections has been reached on the local z/VM guest virtual machine.
2282+ * User action:
2283+ * Close some of the established IUCV connections on the local z/VM guest
2284+ * virtual machine; then try again to establish the connection.
2285+ */
2286+
2287+/*?
2288+ * Text: "%s: z/VM guest %s has too many IUCV connections to connect with the IUCV device\n"
2289+ * Severity: Error
2290+ * Parameter:
2291+ * @1: bus ID of the IUCV device
2292+ * @2: remote z/VM user ID
2293+ * Description:
2294+ * Connecting to the remote z/VM guest virtual machine failed because the
2295+ * maximum number of IUCV connections for the remote z/VM guest virtual
2296+ * machine has been reached.
2297+ * User action:
2298+ * Close some of the established IUCV connections on the remote z/VM guest
2299+ * virtual machine; then try again to establish the connection.
2300+ */
2301+
2302+/*?
2303+ * Text: "%s: The IUCV device cannot connect to a z/VM guest with no IUCV authorization\n"
2304+ * Severity: Error
2305+ * Parameter:
2306+ * @1: bus ID of the IUCV device
2307+ * Description:
2308+ * Because the remote z/VM guest virtual machine is not authorized for IUCV
2309+ * connections, the connection cannot be established.
2310+ * User action:
2311+ * Add the statements 'IUCV ALLOW' and 'IUCV ANY' to the z/VM directory
2312+ * entry of the remote z/VM guest virtual machine; then try again to
2313+ * establish the connection. See "z/VM CP Planning and Administration"
2314+ * for details about the IUCV statements.
2315+ */
2316+
2317+/*?
2318+ * Text: "%s: Connecting the IUCV device failed with error %d\n"
2319+ * Severity: Error
2320+ * Parameter:
2321+ * @1: bus ID of the IUCV device
2322+ * @2: error code
2323+ * Description:
2324+ * The connection cannot be established because of an IUCV CONNECT error.
2325+ * User action:
2326+ * Report this problem to your support organization.
2327+ */
2328+
2329+/*?
2330+ * Text: "%s: The IUCV device has been connected successfully to %s\n"
2331+ * Severity: Informational
2332+ * Parameter:
2333+ * @1: bus ID of the IUCV device
2334+ * @2: remote z/VM user ID
2335+ * Description:
2336+ * The connection has been established and the interface is ready to
2337+ * transmit communication packages.
2338+ * User action:
2339+ * None.
2340+ */
2341+
2342+/*?
2343+ * Text: "%s: The IUCV interface to %s has been established successfully\n"
2344+ * Severity: Informational
2345+ * Parameter:
2346+ * @1: bus ID of the IUCV device
2347+ * @2: remote z/VM user ID
2348+ * Description:
2349+ * The IUCV interface to the remote z/VM guest virtual machine has been
2350+ * established and can be activated with "ifconfig up" or an equivalent
2351+ * command.
2352+ * User action:
2353+ * None.
2354+ */
2355+
2356+/*?
2357+ * Text: "%s: The IUCV device is connected to %s and cannot be removed\n"
2358+ * Severity: Warning
2359+ * Parameter:
2360+ * @1: bus ID of the IUCV device
2361+ * @2: remote z/VM user ID
2362+ * Description:
2363+ * Removing a connection failed because the interface is active with a peer
2364+ * interface on a remote z/VM guest virtual machine.
2365+ * User action:
2366+ * Deactivate the interface with "ifconfig down" or an equivalent command;
2367+ * then try again to remove the interface.
2368+ */
2369+
2370+/*? Text: "driver unloaded\n" */
2371+/*? Text: "driver initialized\n" */
2372--- /dev/null
2373+++ b/Documentation/kmsg/s390/qeth
2374@@ -0,0 +1,472 @@
2375+/*?
2376+ * Text: "%s: The LAN is offline\n"
2377+ * Severity: Warning
2378+ * Parameter:
2379+ * @1: bus ID of the qeth device
2380+ * Description:
2381+ * A start LAN command was sent by the qeth device driver but the physical or
2382+ * virtual adapter has not started the LAN. The LAN might take a few seconds
2383+ * to become available.
2384+ * User action:
2385+ * Check the status of the qeth device, for example, with the lsqeth command.
2386+ * If the device does not become operational within a few seconds, initiate a
2387+ * recovery process, for example, by writing '1' to the 'recover' sysfs
2388+ * attribute of the device.
2389+ */
2390+
2391+/*?
2392+ * Text: "%s: The user canceled setting the qeth device offline\n"
2393+ * Severity: Warning
2394+ * Parameter:
2395+ * @1: bus ID of the qeth device
2396+ * Description:
2397+ * A user initiated setting the device offline but subsequently canceled the
2398+ * operation, for example, with CTRL+C.
2399+ * User action:
2400+ * Check the status of the qeth device, for example, with the lsqeth command.
2401+ * If necessary, repeat the operation to set the device offline.
2402+ */
2403+
2404+/*?
2405+ * Text: "%s: A recovery process has been started for the device\n"
2406+ * Severity: Warning
2407+ * Parameter:
2408+ * @1: bus ID of the qeth device
2409+ * Description:
2410+ * A recovery process was started either by the qeth device driver or through
2411+ * a user command.
2412+ * User action:
2413+ * Wait until a message indicates the completion of the recovery process.
2414+ */
2415+
2416+/*?
2417+ * Text: "%s: The qeth device driver failed to recover an error on the device\n"
2418+ * Severity: Warning
2419+ * Parameter:
2420+ * @1: bus ID of the qeth device
2421+ * Description:
2422+ * The qeth device driver performed an automatic recovery operation to recover
2423+ * an error on a qeth device. The recovery operation failed.
2424+ * User action:
2425+ * Try the following actions in the given order: i) Check the status of the
2426+ * qeth device, for example, with the lsqeth command. ii) Initiate a recovery
2427+ * process by writing '1' to the 'recover' sysfs attribute of the device.
2428+ * iii) Ungroup and regroup the subchannel triplet of the device. vi) Reboot
2429+ * Linux. v) If the problem persists, gather Linux debug data and report the
2430+ * problem to your support organization.
2431+ */
2432+
2433+/*?
2434+ * Text: "%s: The link for interface %s on CHPID 0x%X failed\n"
2435+ * Severity: Warning
2436+ * Parameter:
2437+ * @1: bus ID of the qeth device
2438+ * @2: network interface name
2439+ * @3: CHPID
2440+ * Description:
2441+ * A network link failed. A possible reason for this error is that a physical
2442+ * network cable has been disconnected.
2443+ * User action:
2444+ * Ensure that the network cable on the adapter hardware is connected properly.
2445+ * If the connection is to a guest LAN, ensure that the device is still coupled
2446+ * to the guest LAN.
2447+ */
2448+
2449+/*?
2450+ * Text: "%s: The link for %s on CHPID 0x%X has been restored\n"
2451+ * Severity: Informational
2452+ * Parameter:
2453+ * @1: bus ID of the qeth device
2454+ * @2: network interface name
2455+ * @3: CHPID
2456+ * Description:
2457+ * A failed network link has been re-established. A device recovery is in
2458+ * progress.
2459+ * User action:
2460+ * Wait until a message indicates the completion of the recovery process.
2461+ */
2462+
2463+/*?
2464+ * Text: "%s: A hardware operation timed out on the device\n"
2465+ * Severity: Warning
2466+ * Parameter:
2467+ * @1: bus ID of the qeth device
2468+ * Description:
2469+ * A hardware operation timed out on the qeth device.
2470+ * User action:
2471+ * Check the status of the qeth device, for example, with the lsqeth command.
2472+ * If the device is not operational, initiate a recovery process, for example,
2473+ * by writing '1' to the 'recover' sysfs attribute of the device.
2474+ */
2475+
2476+/*?
2477+ * Text: "%s: The adapter hardware is of an unknown type\n"
2478+ * Severity: Error
2479+ * Parameter:
2480+ * @1: bus ID of the qeth device
2481+ * Description:
2482+ * The qeth device driver does not recognize the adapter hardware. The cause
2483+ * of this problem could be a hardware error or a Linux level that does not
2484+ * support your adapter hardware.
2485+ * User action:
2486+ * i) Investigate if your adapter hardware is supported by your Linux level.
2487+ * Consider using hardware that is supported by your Linux level or upgrading
2488+ * to a Linux level that supports your hardware. ii) Install the latest
2489+ * firmware on your adapter hardware. iii) If the problem persists and is not
2490+ * caused by a version mismatch, contact IBM support.
2491+ */
2492+
2493+/*?
2494+ * Text: "%s: The adapter is used exclusively by another host\n"
2495+ * Severity: Error
2496+ * Parameter:
2497+ * @1: bus ID of the qeth device
2498+ * Description:
2499+ * The qeth adapter is exclusively used by another host.
2500+ * User action:
2501+ * Use another qeth adapter or configure this one not exclusively to a
2502+ * particular host.
2503+ */
2504+
2505+/*?
2506+ * Text: "%s: QDIO reported an error, rc=%i\n"
2507+ * Severity: Warning
2508+ * Parameter:
2509+ * @1: bus ID of the qeth device
2510+ * @2: return code
2511+ * Description:
2512+ * The QDIO subsystem reported an error.
2513+ * User action:
2514+ * Check for related QDIO errors. Check the status of the qeth device, for
2515+ * example, with the lsqeth command. If the device is not operational, initiate
2516+ * a recovery process, for example, by writing '1' to the 'recover' sysfs
2517+ * attribute of the device.
2518+ */
2519+
2520+/*?
2521+ * Text: "%s: There is no kernel module to support discipline %d\n"
2522+ * Severity: Error
2523+ * Parameter:
2524+ * @1: bus ID of the qeth device
2525+ * @2: discipline
2526+ * Description:
2527+ * The qeth device driver or a user command requested a kernel module for a
2528+ * particular qeth discipline. Either the discipline is not supported by the
2529+ * qeth device driver or the requested module is not available to your Linux
2530+ * system.
2531+ * User action:
2532+ * Check if the requested discipline module has been compiled into the kernel
2533+ * or is present in /lib/modules/<version>/kernel/drivers/s390/net.
2534+ */
2535+
2536+/*?
2537+ * Text: "Initializing the qeth device driver failed\n"
2538+ * Severity: Error
2539+ * Parameter:
2540+ * Description:
2541+ * The base module of the qeth device driver could not be initialized.
2542+ * User action:
2543+ * See errno.h to determine the reason for the error.
2544+ * i) Reboot Linux. ii) If the problem persists, gather Linux debug data and
2545+ * report the problem to your support organization.
2546+ */
2547+
2548+/*?
2549+ * Text: "%s: Registering IP address %s failed\n"
2550+ * Severity: Warning
2551+ * Parameter:
2552+ * @1: bus ID of the qeth device
2553+ * @2: IP address
2554+ * Description:
2555+ * An IP address could not be registered with the network adapter.
2556+ * User action:
2557+ * Check if another operating system instance has already registered the
2558+ * IP address with the same network adapter or at the same logical IP subnet.
2559+ */
2560+
2561+/*?
2562+ * Text: "%s: Reading the adapter MAC address failed\n"
2563+ * Severity: Warning
2564+ * Parameter:
2565+ * @1: bus ID of the qeth device
2566+ * Description:
2567+ * The qeth device driver could not read the MAC address from the network
2568+ * adapter.
2569+ * User action:
2570+ * Ungroup and regroup the subchannel triplet of the device. If this does not
2571+ * resolve the problem, reboot Linux. If the problem persists, gather Linux
2572+ * debug data and report the problem to your support organization.
2573+ */
2574+
2575+/*?
2576+ * Text: "%s: Starting ARP processing support for %s failed\n"
2577+ * Severity: Warning
2578+ * Parameter:
2579+ * @1: bus ID of the qeth device
2580+ * @2: network interface name
2581+ * Description:
2582+ * The qeth device driver could not start ARP support on the network adapter.
2583+ * User action:
2584+ * Ungroup and regroup the subchannel triplet of the device. If this does not
2585+ * resolve the problem, reboot Linux. If the problem persists, gather Linux
2586+ * debug data and report the problem to your support organization.
2587+ */
2588+
2589+/*?
2590+ * Text: "%s: Starting IP fragmentation support for %s failed\n"
2591+ * Severity: Warning
2592+ * Parameter:
2593+ * @1: bus ID of the qeth device
2594+ * @2: network interface name
2595+ * Description:
2596+ * The qeth device driver could not start IP fragmentation support on the
2597+ * network adapter.
2598+ * User action:
2599+ * Ungroup and regroup the subchannel triplet of the device. If this does not
2600+ * resolve the problem, reboot Linux. If the problem persists, gather Linux
2601+ * debug data and report the problem to your support organization.
2602+ */
2603+
2604+/*?
2605+ * Text: "%s: Starting proxy ARP support for %s failed\n"
2606+ * Severity: Warning
2607+ * Parameter:
2608+ * @1: bus ID of the qeth device
2609+ * @2: network interface name
2610+ * Description:
2611+ * The qeth device driver could not start proxy ARP support on the network
2612+ * adapter.
2613+ * User action:
2614+ * None if you do not require proxy ARP support. If you need proxy ARP,
2615+ * ungroup and regroup the subchannel triplet of the device. If this does not
2616+ * resolve the problem, reboot Linux. If the problem persists, gather Linux
2617+ * debug data and report the problem to your support organization.
2618+ */
2619+
2620+/*?
2621+ * Text: "%s: Starting VLAN support for %s failed\n"
2622+ * Severity: Warning
2623+ * Parameter:
2624+ * @1: bus ID of the qeth device
2625+ * @2: network interface name
2626+ * Description:
2627+ * The qeth device driver could not start VLAN support on the network adapter.
2628+ * User action:
2629+ * None if you do not require VLAN support. If you need VLAN support,
2630+ * ungroup and regroup the subchannel triplet of the device. If this does not
2631+ * resolve the problem, reboot Linux. If the problem persists, gather Linux
2632+ * debug data and report the problem to your support organization.
2633+ */
2634+
2635+/*?
2636+ * Text: "%s: Starting multicast support for %s failed\n"
2637+ * Severity: Warning
2638+ * Parameter:
2639+ * @1: bus ID of the qeth device
2640+ * @2: network interface name
2641+ * Description:
2642+ * The qeth device driver could not start multicast support on the network
2643+ * adapter.
2644+ * User action:
2645+ * Ungroup and regroup the subchannel triplet of the device. If this does not
2646+ * resolve the problem, reboot Linux. If the problem persists, gather Linux
2647+ * debug data and report the problem to your support organization.
2648+ */
2649+
2650+/*?
2651+ * Text: "%s: Activating IPv6 support for %s failed\n"
2652+ * Severity: Error
2653+ * Parameter:
2654+ * @1: bus ID of the qeth device
2655+ * @2: network interface name
2656+ * Description:
2657+ * The qeth device driver could not activate IPv6 support on the network
2658+ * adapter.
2659+ * User action:
2660+ * None if you do not require IPv6 communication. If you need IPv6 support,
2661+ * ungroup and regroup the subchannel triplet of the device. If this does not
2662+ * resolve the problem, reboot Linux. If the problem persists, gather Linux
2663+ * debug data and report the problem to your support organization.
2664+ */
2665+
2666+/*?
2667+ * Text: "%s: Enabling the passthrough mode for %s failed\n"
2668+ * Severity: Warning
2669+ * Parameter:
2670+ * @1: bus ID of the qeth device
2671+ * @2: network interface name
2672+ * Description:
2673+ * The qeth device driver could not enable the passthrough mode on the
2674+ * network adapter. The passthrough mode is required for all network traffic
2675+ * other than IPv4. In particular, the passthrough mode is required for IPv6
2676+ * traffic.
2677+ * User action:
2678+ * None if all you want to support is IPv4 communication. If you want to support
2679+ * IPv6 or other network traffic apart from IPv4, ungroup and regroup the
2680+ * subchannel triplet of the device. If this does not resolve the problem,
2681+ * reboot Linux. If the problem persists, gather Linux debug data and report
2682+ * the problem to your support organization.
2683+ */
2684+
2685+/*?
2686+ * Text: "%s: Enabling broadcast filtering for %s failed\n"
2687+ * Severity: Warning
2688+ * Parameter:
2689+ * @1: bus ID of the qeth device
2690+ * @2: network interface name
2691+ * Description:
2692+ * The qeth device driver could not enable broadcast filtering on the network
2693+ * adapter.
2694+ * User action:
2695+ * Ungroup and regroup the subchannel triplet of the device. If this does not
2696+ * resolve the problem, reboot Linux. If the problem persists, gather Linux
2697+ * debug data and report the problem to your support organization.
2698+ */
2699+
2700+/*?
2701+ * Text: "%s: Setting up broadcast filtering for %s failed\n"
2702+ * Severity: Warning
2703+ * Parameter:
2704+ * @1: bus ID of the qeth device
2705+ * @2: network interface name
2706+ * Description:
2707+ * The qeth device driver could not set up broadcast filtering on the network
2708+ * adapter.
2709+ * User action:
2710+ * Ungroup and regroup the subchannel triplet of the device. If this does not
2711+ * resolve the problem, reboot Linux. If the problem persists, gather Linux
2712+ * debug data and report the problem to your support organization.
2713+ */
2714+
2715+/*?
2716+ * Text: "%s: Setting up broadcast echo filtering for %s failed\n"
2717+ * Severity: Warning
2718+ * Parameter:
2719+ * @1: bus ID of the qeth device
2720+ * @2: network interface name
2721+ * Description:
2722+ * The qeth device driver could not set up broadcast echo filtering on the
2723+ * network adapter.
2724+ * User action:
2725+ * Ungroup and regroup the subchannel triplet of the device. If this does not
2726+ * resolve the problem, reboot Linux. If the problem persists, gather Linux
2727+ * debug data and report the problem to your support organization.
2728+ */
2729+
2730+/*?
2731+ * Text: "%s: Starting HW checksumming for %s failed, using SW checksumming\n"
2732+ * Severity: Warning
2733+ * Parameter:
2734+ * @1: bus ID of the qeth device
2735+ * @2: network interface name
2736+ * Description:
2737+ * The network adapter supports hardware checksumming for incoming IP packages
2738+ * but the qeth device driver could not start hardware checksumming on the
2739+ * adapter. The qeth device driver continues to use software checksumming for
2740+ * incoming IP packages.
2741+ * User action:
2742+ * None if you do not require hardware checksumming for incoming network
2743+ * traffic. If you want to enable hardware checksumming, ungroup and regroup
2744+ * the subchannel triplet of the device. If this does not resolve the problem,
2745+ * reboot Linux. If the problem persists, gather Linux debug data and report
2746+ * the problem to your support organization.
2747+ */
2748+
2749+/*?
2750+ * Text: "%s: Enabling HW checksumming for %s failed, using SW checksumming\n"
2751+ * Severity: Warning
2752+ * Parameter:
2753+ * @1: bus ID of the qeth device
2754+ * @2: network interface name
2755+ * Description:
2756+ * The network adapter supports hardware checksumming for incoming IP packages
2757+ * but the qeth device driver could not enable hardware checksumming on the
2758+ * adapter. The qeth device driver continues to use software checksumming for
2759+ * incoming IP packages.
2760+ * User action:
2761+ * None if you do not require hardware checksumming for incoming network
2762+ * traffic. If you want to enable hardware checksumming, ungroup and regroup
2763+ * the subchannel triplet of the device. If this does not resolve the problem,
2764+ * reboot Linux. If the problem persists, gather Linux debug data and report
2765+ * the problem to your support organization.
2766+ */
2767+
2768+/*?
2769+ * Text: "%s: Starting outbound TCP segmentation offload for %s failed\n"
2770+ * Severity: Warning
2771+ * Parameter:
2772+ * @1: bus ID of the qeth device
2773+ * @2: network interface name
2774+ * Description:
2775+ * The network adapter supports TCP segmentation offload, but the qeth device
2776+ * driver could not start this support on the adapter.
2777+ * User action:
2778+ * None if you do not require TCP segmentation offload. If you want to
2779+ * enable TCP segmentation offload, ungroup and regroup the subchannel triplet
2780+ * of the device. If this does not resolve the problem, reboot Linux. If the
2781+ * problem persists, gather Linux debug data and report the problem to your
2782+ * support organization.
2783+ */
2784+
2785+/*?
2786+ * Text: "%s: The network adapter failed to generate a unique ID\n"
2787+ * Severity: Warning
2788+ * Parameter:
2789+ * @1: bus ID of the qeth device
2790+ * Description:
2791+ * In IBM mainframe environments, network interfaces are not identified by
2792+ * a specific MAC address. Therefore, the network adapters provide the network
2793+ * interfaces with unique IDs to be used in their IPv6 link local addresses.
2794+ * Without such a unique ID, duplicate addresses might be assigned in other
2795+ * LPARs.
2796+ * User action:
2797+ * Install the latest firmware on the adapter hardware. Manually, configure
2798+ * an IPv6 link local address for this device.
2799+ */
2800+
2801+/*?
2802+ * Text: "There is no IPv6 support for the layer 3 discipline\n"
2803+ * Severity: Warning
2804+ * Description:
2805+ * If you want to use IPv6 with the layer 3 discipline, you need a Linux kernel
2806+ * with IPv6 support. Because your Linux kernel has not been compiled with
2807+ * IPv6 support, you cannot use IPv6 with the layer 3 discipline, even if your
2808+ * adapter supports IPv6.
2809+ * User action:
2810+ * Use a Linux kernel that has been complied to include IPv6 support if you
2811+ * want to use IPv6 with layer 3 qeth devices.
2812+ */
2813+
2814+/*? Text: "core functions removed\n" */
2815+/*? Text: "%s: Device is a%s card%s%s%s\nwith link type %s.\n" */
2816+/*? Text: "%s: Device is a%s card%s%s%s\nwith link type %s (no portname needed by interface).\n" */
2817+/*? Text: "%s: Device is a%s card%s%s%s\nwith link type %s (portname: %s)\n" */
2818+/*? Text: "%s: issue_next_read failed: no iob available!\n" */
2819+/*? Text: "%s: Priority Queueing not supported\n" */
2820+/*? Text: "%s: sense data available. cstat 0x%X dstat 0x%X\n" */
2821+/*? Text: "loading core functions\n" */
2822+/*? Text: "%s: MAC address %2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x successfully registered on device %s\n" */
2823+/*? Text: "%s: Device successfully recovered!\n" */
2824+/*? Text: "register layer 2 discipline\n" */
2825+/*? Text: "unregister layer 2 discipline\n" */
2826+/*? Text: "%s: Hardware IP fragmentation not supported on %s\n" */
2827+/*? Text: "%s: IPv6 not supported on %s\n" */
2828+/*? Text: "%s: VLAN not supported on %s\n" */
2829+/*? Text: "%s: Inbound source address not supported on %s\n" */
2830+/*? Text: "%s: IPV6 enabled\n" */
2831+/*? Text: "%s: ARP processing not supported on %s!\n" */
2832+/*? Text: "%s: Hardware IP fragmentation enabled \n" */
2833+/*? Text: "%s: set adapter parameters not supported.\n" */
2834+/*? Text: "%s: VLAN enabled\n" */
2835+/*? Text: "register layer 3 discipline\n" */
2836+/*? Text: "%s: Outbound TSO enabled\n" */
2837+/*? Text: "%s: Broadcast not supported on %s\n" */
2838+/*? Text: "%s: Outbound TSO not supported on %s\n" */
2839+/*? Text: "%s: Inbound HW Checksumming not supported on %s,\ncontinuing using Inbound SW Checksumming\n" */
2840+/*? Text: "%s: Using no checksumming on %s.\n" */
2841+/*? Text: "%s: Broadcast enabled\n" */
2842+/*? Text: "%s: Multicast not supported on %s\n" */
2843+/*? Text: "%s: Using SW checksumming on %s.\n" */
2844+/*? Text: "%s: HW Checksumming (inbound) enabled\n" */
2845+/*? Text: "unregister layer 3 discipline\n" */
2846+/*? Text: "%s: Multicast enabled\n" */
2847--- /dev/null
2848+++ b/Documentation/kmsg/s390/s390dbf
2849@@ -0,0 +1,83 @@
2850+/*?
2851+ * Text: "Root becomes the owner of all s390dbf files in sysfs\n"
2852+ * Severity: Warning
2853+ * Description:
2854+ * The S/390 debug feature you are using only supports uid/gid = 0.
2855+ * User action:
2856+ * None.
2857+ */
2858+
2859+/*?
2860+ * Text: "Registering debug feature %s failed\n"
2861+ * Severity: Error
2862+ * Parameter:
2863+ * @1: feature name
2864+ * Description:
2865+ * The initialization of an S/390 debug feature failed. A likely cause of this
2866+ * problem is memory constraints. The system keeps running, but the debug
2867+ * data for this feature will not be available in sysfs.
2868+ * User action:
2869+ * Consider assigning more memory to your LPAR or z/VM guest virtual machine.
2870+ */
2871+
2872+/*?
2873+ * Text: "Registering view %s/%s would exceed the maximum number of views %i\n"
2874+ * Severity: Error
2875+ * Parameter:
2876+ * @1: feature name
2877+ * @2: view name
2878+ * @3: maximum
2879+ * Description:
2880+ * The maximum number of allowed debug feature views has been reached. The
2881+ * view has not been registered. The system keeps running but the new view
2882+ * will not be available in sysfs. This is a program error.
2883+ * User action:
2884+ * Report this problem to your support partner.
2885+ */
2886+
2887+/*?
2888+ * Text: "%s is not a valid level for a debug feature\n"
2889+ * Severity: Warning
2890+ * Parameter:
2891+ * @1: level
2892+ * Description:
2893+ * Setting a new level for a debug feature by using the 'level' sysfs attribute
2894+ * failed. Valid levels are the minus sign (-) and the integers in the
2895+ * range 0 to 6. The minus sign switches off the feature. The numbers switch
2896+ * the feature on, where higher numbers produce more debug output.
2897+ * User action:
2898+ * Write a valid value to the 'level' sysfs attribute.
2899+ */
2900+
2901+/*?
2902+ * Text: "Flushing debug data failed because %c is not a valid area\n"
2903+ * Severity: Informational
2904+ * Parameter:
2905+ * @1: debug area number
2906+ * Description:
2907+ * Flushing a debug area by using the 'flush' sysfs attribute failed. Valid
2908+ * values are the minus sign (-) for flushing all areas, or the number of the
2909+ * respective area for flushing a single area.
2910+ * User action:
2911+ * Write a valid area number or the minus sign (-) to the 'flush' sysfs
2912+ * attribute.
2913+ */
2914+
2915+/*?
2916+ * Text: "Allocating memory for %i pages failed\n"
2917+ * Severity: Informational
2918+ * Parameter:
2919+ * @1: number of pages
2920+ * Description:
2921+ * Setting the debug feature size by using the 'page' sysfs attribute failed.
2922+ * Linux did not have enough memory for expanding the debug feature to the
2923+ * requested size.
2924+ * User action:
2925+ * Use a smaller number of pages for the debug feature or allocate more
2926+ * memory to your LPAR or z/VM guest virtual machine.
2927+ */
2928+
2929+/*? Text: "%s: set new size (%i pages)\n" */
2930+/*? Text: "%s: switched off\n" */
2931+/*? Text: "%s: level %i is out of range (%i - %i)\n" */
2932+/*? Text: "Registering view %s/%s failed due to out of memory\n" */
2933--- /dev/null
2934+++ b/Documentation/kmsg/s390/sclp_cmd
2935@@ -0,0 +1,6 @@
2936+/*? Text: "sync request failed (cmd=0x%08x, status=0x%02x)\n" */
2937+/*? Text: "readcpuinfo failed (response=0x%04x)\n" */
2938+/*? Text: "configure cpu failed (cmd=0x%08x, response=0x%04x)\n" */
2939+/*? Text: "configure channel-path failed (cmd=0x%08x, response=0x%04x)\n" */
2940+/*? Text: "read channel-path info failed (response=0x%04x)\n" */
2941+
2942--- /dev/null
2943+++ b/Documentation/kmsg/s390/sclp_config
2944@@ -0,0 +1,3 @@
2945+/*? Text: "cpu capability changed.\n" */
2946+/*? Text: "no configuration management.\n" */
2947+
2948--- /dev/null
2949+++ b/Documentation/kmsg/s390/sclp_cpi
2950@@ -0,0 +1,2 @@
2951+/*? Text: "request failed (status=0x%02x)\n" */
2952+/*? Text: "request failed with response code 0x%x\n" */
2953--- /dev/null
2954+++ b/Documentation/kmsg/s390/sclp_sdias
2955@@ -0,0 +1,4 @@
2956+/*? Text: "sclp_send failed for get_nr_blocks\n" */
2957+/*? Text: "SCLP error: %x\n" */
2958+/*? Text: "sclp_send failed: %x\n" */
2959+/*? Text: "Error from SCLP while copying hsa. Event status = %x\n" */
2960--- /dev/null
2961+++ b/Documentation/kmsg/s390/setup
2962@@ -0,0 +1,151 @@
2963+/*?
2964+ * Text: "Execute protection active, mvcos available\n"
2965+ * Severity: Informational
2966+ * Description:
2967+ * The kernel parameter 'noexec' has been specified. The kernel will
2968+ * honor the execute bit of mappings and will use the mvcos instruction
2969+ * to copy between the user and kernel address space.
2970+ * User action:
2971+ * None.
2972+ */
2973+
2974+/*?
2975+ * Text: "Execute protection active, mvcos not available\n"
2976+ * Severity: Informational
2977+ * Description:
2978+ * The kernel parameter 'noexec' has been specified. The kernel will
2979+ * honor the execute bit of mappings. The mvcos instruction is not
2980+ * available and the kernel will use the slower page table walk method
2981+ * to copy between the user and kernel address space.
2982+ * User action:
2983+ * None.
2984+ */
2985+
2986+/*?
2987+ * Text: "Address spaces switched, mvcos available\n"
2988+ * Severity: Informational
2989+ * Description:
2990+ * The kernel parameter 'switch_amode' has been specified. The kernel
2991+ * will use the primary address space for user space processes and the
2992+ * home address space for the kernel. The mvcos instruction is used to
2993+ * copy between the user and kernel address space.
2994+ * User action:
2995+ * None.
2996+ */
2997+
2998+/*?
2999+ * Text: "Address spaces switched, mvcos not available\n"
3000+ * Severity: Informational
3001+ * Description:
3002+ * The kernel parameter 'switch_amode' has been specified. The kernel
3003+ * will use the primary address space for user space processes and the
3004+ * home address space for the kernel. The mvcos instruction is not
3005+ * available and the kernel will use the slower page table walk method
3006+ * to copy between the user and kernel address space.
3007+ * User action:
3008+ * None.
3009+ */
3010+
3011+/*?
3012+ * Text: "initrd extends beyond end of memory (0x%08lx > 0x%08lx) disabling initrd\n"
3013+ * Severity: Error
3014+ * Parameter:
3015+ * @1: start address of the initial RAM disk
3016+ * @2: memory end address
3017+ * Description:
3018+ * The load address and the size of the initial RAM disk result in an end
3019+ * address of the initial RAM disk that is beyond the end of the system
3020+ * memory.
3021+ * User action:
3022+ * Lower the load address of the initial RAM disk, reduce the size of the
3023+ * initial RAM disk, or increase the size if the system memory to make the
3024+ * initial RAM disk fit into the memory.
3025+ */
3026+
3027+/*?
3028+ * Text: "Moving initrd (0x%08lx -> 0x%08lx, size: %ld)\n"
3029+ * Severity: Informational
3030+ * Parameter:
3031+ * @1: old start address of the initial RAM disk
3032+ * @2: new start address of the initial RAM disk
3033+ * @3: size of the initial RAM disk
3034+ * Description:
3035+ * The location of the initial RAM disk conflicted with the boot memory bitmap.
3036+ * To resolve the conflict the initial RAM disk has been moved to a new
3037+ * location.
3038+ * User action:
3039+ * None.
3040+ */
3041+
3042+/*?
3043+ * Text: "Linux is running as a z/VM guest operating system in 31-bit mode\n"
3044+ * Severity: Informational
3045+ * Description:
3046+ * The 31-bit Linux kernel detected that it is running as a guest operating
3047+ * system of the z/VM hypervisor.
3048+ * User action:
3049+ * None.
3050+ */
3051+
3052+/*?
3053+ * Text: "Linux is running natively in 31-bit mode\n"
3054+ * Severity: Informational
3055+ * Description:
3056+ * The 31-bit Linux kernel detected that it is running on an IBM mainframe,
3057+ * either as the sole operating system in an LPAR or as the sole operating
3058+ * system on the entire mainframe. The Linux kernel is not running as a
3059+ * guest operating system of the z/VM hypervisor.
3060+ * User action:
3061+ * None.
3062+ */
3063+
3064+/*?
3065+ * Text: "The hardware system has IEEE compatible floating point units\n"
3066+ * Severity: Informational
3067+ * Description:
3068+ * The Linux kernel detected that it is running on a hardware system with
3069+ * CPUs that have IEEE compatible floating point units.
3070+ * User action:
3071+ * None.
3072+ */
3073+
3074+/*?
3075+ * Text: "The hardware system has no IEEE compatible floating point units\n"
3076+ * Severity: Informational
3077+ * Description:
3078+ * The Linux kernel detected that it is running on a hardware system with
3079+ * CPUs that do not have IEEE compatible floating point units.
3080+ * User action:
3081+ * None.
3082+ */
3083+
3084+/*?
3085+ * Text: "Linux is running as a z/VM guest operating system in 64-bit mode\n"
3086+ * Severity: Informational
3087+ * Description:
3088+ * The 64-bit Linux kernel detected that it is running as a guest operating
3089+ * system of the z/VM hypervisor.
3090+ * User action:
3091+ * None.
3092+ */
3093+
3094+/*?
3095+ * Text: "Linux is running natively in 64-bit mode\n"
3096+ * Severity: Informational
3097+ * Description:
3098+ * The 64-bit Linux kernel detected that it is running on an IBM mainframe,
3099+ * either as the sole operating system in an LPAR or as the sole operating
3100+ * system on the entire mainframe. The Linux kernel is not running as a
3101+ * guest operating system of the z/VM hypervisor.
3102+ * User action:
3103+ * None.
3104+ */
3105+
3106+/*?
3107+ * Text: "Linux is running under KVM in 64-bit mode\n"
3108+ * Severity: Informational
3109+ * Description:
3110+ * The 64-bit kernel detected that it is running under the KVM hypervisor.
3111+ * User action:
3112+ * None.
3113+ */
3114--- /dev/null
3115+++ b/Documentation/kmsg/s390/time
3116@@ -0,0 +1,36 @@
3117+/*?
3118+ * Text: "The ETR interface has adjusted the clock by %li microseconds\n"
3119+ * Severity: Notice
3120+ * Parameter:
3121+ * @1: number of microseconds
3122+ * Description:
3123+ * The external time reference (ETR) interface has synchronized the system
3124+ * clock with the external reference and set it to a new value. The time
3125+ * difference between the old and new clock value has been passed to the
3126+ * network time protocol (NTP) as a single shot adjustment.
3127+ * User action:
3128+ * None.
3129+ */
3130+
3131+/*?
3132+ * Text: "The real or virtual hardware system does not provide an ETR interface\n"
3133+ * Severity: Warning
3134+ * Description:
3135+ * The 'etr=' parameter has been passed on the kernel parameter line for
3136+ * a Linux instance that does not have access to the external time reference
3137+ * (ETR) facility.
3138+ * User action:
3139+ * To avoid this warning remove the 'etr=' kernel parameter.
3140+ */
3141+
3142+/*?
3143+ * Text: "The real or virtual hardware system does not provide an STP interface\n"
3144+ * Severity: Warning
3145+ * Description:
3146+ * The 'stp=' parameter has been passed on the kernel parameter line for
3147+ * a Linux instance that does not have access to the server time protocol
3148+ * (STP) facility.
3149+ * User action:
3150+ * To avoid this warning remove the 'stp=' kernel parameter.
3151+ */
3152+
3153--- /dev/null
3154+++ b/Documentation/kmsg/s390/vmcp
3155@@ -0,0 +1,13 @@
3156+/*?
3157+ * Text: "The z/VM CP interface device driver cannot be loaded without z/VM\n"
3158+ * Severity: Warning
3159+ * Description:
3160+ * With the z/VM CP interface you can issue z/VM CP commands from a Linux
3161+ * terminal session. On Linux instances that run in environments other than
3162+ * the z/VM hypervisor, the z/VM CP interface does not provide any useful
3163+ * function and the corresponding vmcp device driver cannot be loaded.
3164+ * User action:
3165+ * Load the vmcp device driver only on Linux instances that run as guest
3166+ * operating systems of the z/VM hypervisor. If the device driver has been
3167+ * compiled into the kernel, ignore this message.
3168+ */
3169--- /dev/null
3170+++ b/Documentation/kmsg/s390/vmlogrdr
3171@@ -0,0 +1,5 @@
3172+/*? Text: "vmlogrdr: failed to start recording automatically\n" */
3173+/*? Text: "vmlogrdr: connection severed with reason %i\n" */
3174+/*? Text: "vmlogrdr: iucv connection to %s failed with rc %i \n" */
3175+/*? Text: "vmlogrdr: failed to stop recording automatically\n" */
3176+/*? Text: "not running under VM, driver not loaded.\n" */
3177--- /dev/null
3178+++ b/Documentation/kmsg/s390/vmur
3179@@ -0,0 +1,34 @@
3180+/*?
3181+ * Text: "The %s cannot be loaded without z/VM\n"
3182+ * Severity: Error
3183+ * Parameter:
3184+ * @1: z/VM virtual unit record device driver
3185+ * Description:
3186+ * The z/VM virtual unit record device driver provides Linux with access to
3187+ * z/VM virtual unit record devices like punch card readers, card punches, and
3188+ * line printers. On Linux instances that run in environments other than the
3189+ * z/VM hypervisor, the device driver does not provide any useful function and
3190+ * the corresponding vmur module cannot be loaded.
3191+ * User action:
3192+ * Load the vmur module only on Linux instances that run as guest operating
3193+ * systems of the z/VM hypervisor. If the z/VM virtual unit record device
3194+ * has been compiled into the kernel, ignore this message.
3195+ */
3196+
3197+/*?
3198+ * Text: "Kernel function alloc_chrdev_region failed with error code %d\n"
3199+ * Severity: Error
3200+ * Parameter:
3201+ * @1: error code according to errno definitions
3202+ * Description:
3203+ * The z/VM virtual unit record device driver (vmur) needs to register a range
3204+ * of character device minor numbers from 0x0000 to 0xffff.
3205+ * This registration failed, probably because of memory constraints.
3206+ * User action:
3207+ * Free some memory and reload the vmur module. If the z/VM virtual unit
3208+ * record device driver has been compiled into the kernel reboot Linux.
3209+ * Consider assigning more memory to your LPAR or z/VM guest virtual machine.
3210+ */
3211+
3212+/*? Text: "%s loaded.\n" */
3213+/*? Text: "%s unloaded.\n" */
3214--- /dev/null
3215+++ b/Documentation/kmsg/s390/xpram
3216@@ -0,0 +1,58 @@
3217+/*?
3218+ * Text: "%d is not a valid number of XPRAM devices\n"
3219+ * Severity: Error
3220+ * Parameter:
3221+ * @1: number of partitions
3222+ * Description:
3223+ * The number of XPRAM partitions specified for the 'devs' module parameter
3224+ * or with the 'xpram.parts' kernel parameter must be an integer in the
3225+ * range 1 to 32. The XPRAM device driver created a maximum of 32 partitions
3226+ * that are probably not configured as intended.
3227+ * User action:
3228+ * If the XPRAM device driver has been compiled as a separate module,
3229+ * unload the module and load it again with a correct value for the
3230+ * 'devs' module parameter. If the XPRAM device driver has been compiled
3231+ * into the kernel, correct the 'xpram.parts' parameter in the kernel
3232+ * command line and restart Linux.
3233+ */
3234+
3235+/*?
3236+ * Text: "Not enough expanded memory available\n"
3237+ * Severity: Error
3238+ * Description:
3239+ * The amount of expanded memory required to set up your XPRAM partitions
3240+ * depends on the 'sizes' parameter specified for the xpram module or on
3241+ * the specifications for the 'xpram.parts' parameter if the XPRAM device
3242+ * driver has been compiled into the kernel. Your
3243+ * current specification exceed the amount of available expanded memory.
3244+ * Your XPRAM partitions are probably not configured as intended.
3245+ * User action:
3246+ * If the XPRAM device driver has been compiled as a separate module,
3247+ * unload the xpram module and load it again with an appropriate value
3248+ * for the 'sizes' module parameter. If the XPRAM device driver has been
3249+ * compiled into the kernel, adjust the 'xpram.parts' parameter in the
3250+ * kernel command line and restart Linux. If you need more than the
3251+ * available expanded memory, increase the expanded memory allocation for
3252+ * your virtual hardware or LPAR.
3253+ */
3254+
3255+/*?
3256+ * Text: "No expanded memory available\n"
3257+ * Severity: Error
3258+ * Description:
3259+ * The XPRAM device driver has been loaded in a Linux instance that runs
3260+ * in an LPAR or virtual hardware without expanded memory.
3261+ * are created.
3262+ * User action:
3263+ * Allocate expanded memory for your LPAR or virtual hardware or do not
3264+ * load the xpram module. You can ignore this message, if you do not want
3265+ * to create XPRAM partitions.
3266+ */
3267+
3268+/*? Text: " number of devices (partitions): %d \n" */
3269+/*? Text: " size of partition %d: %u kB\n" */
3270+/*? Text: " size of partition %d to be set automatically\n" */
3271+/*? Text: " memory needed (for sized partitions): %lu kB\n" */
3272+/*? Text: " partitions to be sized automatically: %d\n" */
3273+/*? Text: " automatically determined partition size: %lu kB\n" */
3274+/*? Text: " %u pages expanded memory found (%lu KB).\n" */
3275--- /dev/null
3276+++ b/Documentation/kmsg/s390/zdump
3277@@ -0,0 +1,12 @@
3278+/*?
3279+ * Text: "The 32-bit dump tool cannot be used for a 64-bit system\n"
3280+ * Severity: Alert
3281+ * Description:
3282+ * The dump process ends without creating a system dump.
3283+ * User action:
3284+ * Use a 64-bit dump tool to obtain a system dump for 64-bit Linux instance.
3285+ */
3286+
3287+/*? Text: "DETECTED 'S390 (32 bit) OS'\n" */
3288+/*? Text: "0x%x is an unknown architecture.\n" */
3289+/*? Text: "DETECTED 'S390X (64 bit) OS'\n" */
3290--- /dev/null
3291+++ b/Documentation/kmsg/s390/zfcp
3292@@ -0,0 +1,830 @@
3293+/*?
3294+ * Text: "%s is not a valid SCSI device\n"
3295+ * Severity: Error
3296+ * Parameter:
3297+ * @1: device specification
3298+ * Description:
3299+ * The specification for an initial SCSI device provided with the 'zfcp.device'
3300+ * kernel parameter or with the 'device' module parameter is syntactically
3301+ * incorrect. The specified SCSI device could not be attached to the Linux
3302+ * system.
3303+ * User action:
3304+ * Correct the value for the 'zfcp.device' or 'device' parameter and reboot
3305+ * Linux. See "Device Drivers, Features, and Commands" for information about
3306+ * the syntax.
3307+ */
3308+
3309+/*?
3310+ * Text: "Registering the misc device zfcp_cfdc failed\n"
3311+ * Severity: Error
3312+ * Description:
3313+ * The zfcp device driver failed to register the device that provides access to
3314+ * the adapter access control file (ACL tables). The device driver
3315+ * initialization failed. A possible cause for this problem is memory
3316+ * constraints.
3317+ * User action:
3318+ * Free some memory and try again to load the zfcp device driver. If the zfcp
3319+ * device driver has been compiled into the kernel, reboot Linux. Consider
3320+ * assigning more memory to your LPAR or z/VM guest virtual machine. If the
3321+ * problem persists, contact your support organization.
3322+ */
3323+
3324+/*?
3325+ * Text: "The zfcp device driver could not register with the common I/O layer\n"
3326+ * Severity: Error
3327+ * Description:
3328+ * The device driver initialization failed. A possible cause of this problem is
3329+ * memory constraints.
3330+ * User action:
3331+ * Free some memory and try again to load the zfcp device driver. If the zfcp
3332+ * device driver has been compiled into the kernel, reboot Linux. Consider
3333+ * assigning more memory to your LPAR or z/VM guest virtual machine. If the
3334+ * problem persists, contact your support organization.
3335+ */
3336+
3337+/*?
3338+ * Text: "%s: Setting up data structures for the FCP adapter failed\n"
3339+ * Severity: Error
3340+ * Parameter:
3341+ * @1: bus ID of the zfcp device
3342+ * Description:
3343+ * The zfcp device driver could not allocate data structures for an FCP adapter.
3344+ * A possible reason for this problem is memory constraints.
3345+ * User action:
3346+ * Set the FCP adapter offline or detach it from the Linux system, free some
3347+ * memory and set the FCP adapter online again or attach it again. If this
3348+ * problem persists, gather Linux debug data, collect the FCP adapter
3349+ * hardware logs, and report the problem to your support organization.
3350+ */
3351+
3352+/*?
3353+ * Text: "%s: The FCP device is operational again\n"
3354+ * Severity: Informational
3355+ * Parameter:
3356+ * @1: bus ID of the zfcp device
3357+ * Description:
3358+ * An FCP device has been unavailable because it had been detached from the
3359+ * Linux system or because the corresponding CHPID was offline. The FCP device
3360+ * is now available again and the zfcp device driver resumes all operations to
3361+ * the FCP device.
3362+ * User action:
3363+ * None.
3364+ */
3365+
3366+/*?
3367+ * Text: "%s: The CHPID for the FCP device is offline\n"
3368+ * Severity: Warning
3369+ * Parameter:
3370+ * @1: bus ID of the zfcp device
3371+ * Description:
3372+ * The CHPID for an FCP device has been set offline, either logically in Linux
3373+ * or on the hardware.
3374+ * User action:
3375+ * Find out which CHPID corresponds to the FCP device, for example, with the
3376+ * lscss command. Check if the CHPID has been set logically offline in sysfs.
3377+ * Write 'on' to the CHPID's status attribute to set it online. If the CHPID is
3378+ * online in sysfs, find out if it has been varied offline through a hardware
3379+ * management interface, for example the service element (SE).
3380+ */
3381+
3382+/*?
3383+ * Text: "%s: The FCP device has been detached\n"
3384+ * Severity: Warning
3385+ * Parameter:
3386+ * @1: bus ID of the zfcp device
3387+ * Description:
3388+ * An FCP device is no longer available to Linux.
3389+ * User action:
3390+ * Ensure that the FCP adapter is operational and attached to the LPAR or z/VM
3391+ * virtual machine.
3392+ */
3393+
3394+/*?
3395+ * Text: "%s: Registering the FCP device with the SCSI stack failed\n"
3396+ * Severity: Error
3397+ * Parameter:
3398+ * @1: bus ID of the zfcp device
3399+ * Description:
3400+ * The FCP adapter could not be registered with the Linux SCSI
3401+ * stack. A possible reason for this problem is memory constraints.
3402+ * User action:
3403+ * Set the FCP adapter offline or detach it from the Linux system, free some
3404+ * memory and set the FCP adapter online again or attach it again. If this
3405+ * problem persists, gather Linux debug data, collect the FCP adapter
3406+ * hardware logs, and report the problem to your support organization.
3407+ */
3408+
3409+/*?
3410+ * Text: "%s: ERP cannot recover an error on the FCP device\n"
3411+ * Severity: Error
3412+ * Parameter:
3413+ * @1: bus ID of the zfcp device
3414+ * Description:
3415+ * An error occurred on an FCP device. The error recovery procedure (ERP)
3416+ * could not resolve the error. The FCP device driver cannot use the FCP device.
3417+ * User action:
3418+ * Check for previous error messages for the same FCP device to find the
3419+ * cause of the problem.
3420+ */
3421+
3422+/*?
3423+ * Text: "%s: Creating an ERP thread for the FCP device failed.\n"
3424+ * Severity: Error
3425+ * Parameter:
3426+ * @1: bus ID of the zfcp device
3427+ * Description:
3428+ * The zfcp device driver could not set up error recovery procedure (ERP)
3429+ * processing for the FCP device. The FCP device is not available for use
3430+ * in Linux.
3431+ * User action:
3432+ * Free some memory and try again to load the zfcp device driver. If the zfcp
3433+ * device driver has been compiled into the kernel, reboot Linux. Consider
3434+ * assigning more memory to your LPAR or z/VM guest virtual machine. If the
3435+ * problem persists, contact your support organization.
3436+ */
3437+
3438+/*?
3439+ * Text: "%s: ERP failed for unit 0x%016Lx on port 0x%016Lx\n"
3440+ * Severity: Error
3441+ * Parameter:
3442+ * @1: bus ID of the zfcp device
3443+ * @2: LUN
3444+ * @3: WWPN
3445+ * Description:
3446+ * An error occurred on the SCSI device at the specified LUN. The error recovery
3447+ * procedure (ERP) could not resolve the error. The SCSI device is not
3448+ * available.
3449+ * User action:
3450+ * Verify that the LUN is correct. Check the fibre channel fabric for errors
3451+ * related to the specified WWPN and LUN, the storage server, and Linux.
3452+ */
3453+
3454+/*?
3455+ * Text: "%s: ERP failed for remote port 0x%016Lx\n"
3456+ * Severity: Error
3457+ * Parameter:
3458+ * @1: bus ID of the zfcp device
3459+ * @2: WWPN
3460+ * Description:
3461+ * An error occurred on a remote port. The error recovery procedure (ERP)
3462+ * could not resolve the error. The port is not available.
3463+ * User action:
3464+ * Verify that the WWPN is correct and check the fibre channel fabric for
3465+ * errors related to the WWPN.
3466+ */
3467+
3468+/*?
3469+ * Text: "%s: Attaching the name server port to the FCP device failed\n"
3470+ * Severity: Error
3471+ * Parameter:
3472+ * @1: bus ID of the zfcp device
3473+ * Description:
3474+ * The zfcp device driver could not attach the name server port of the fibre
3475+ * channel fabric to an FCP device. A possible cause of this problem is
3476+ * memory constraints.
3477+ * User action:
3478+ * Set the FCP device offline, free some memory, then set the FCP device online
3479+ * again. If this does not resolve the problem, reboot Linux and try again to
3480+ * set the FCP device online.
3481+ */
3482+
3483+/*?
3484+ * Text: "%s: Registering unit 0x%016Lx on port 0x%016Lx failed\n"
3485+ * Severity: Error
3486+ * Parameter:
3487+ * @1: bus ID of the zfcp device
3488+ * @2: LUN
3489+ * @3: WWPN
3490+ * Description:
3491+ * The Linux kernel could not allocate enough memory to register the SCSI
3492+ * device at the indicated LUN with the SCSI stack. The SCSI device is not
3493+ * available.
3494+ * User action:
3495+ * Free some memory then detach the LUN and attach it again.
3496+ */
3497+
3498+/*?
3499+ * Text: "%s: Registering port 0x%016Lx failed\n"
3500+ * Severity: Error
3501+ * Parameter:
3502+ * @1: bus ID of the zfcp device
3503+ * @2: WWPN
3504+ * Description:
3505+ * The Linux kernel could not allocate enough memory to register the
3506+ * remote port with the indicated WWPN with the SCSI stack. The remote
3507+ * port is not available.
3508+ * User action:
3509+ * Free some memory and trigger the rescan for ports.
3510+ */
3511+
3512+/*?
3513+ * Text: "%s: A QDIO problem occurred\n"
3514+ * Severity: Warning
3515+ * Parameter:
3516+ * @1: bus ID of the zfcp device
3517+ * Description:
3518+ * QDIO reported a problem to the zfcp device driver. The zfcp device driver
3519+ * tries to recover this problem.
3520+ * User action:
3521+ * Check for related error messages. If this problem occurs frequently, gather
3522+ * Linux debug data and contact your support organization.
3523+ */
3524+
3525+/*?
3526+ * Text: "%s: A QDIO protocol error occurred, operations continue\n"
3527+ * Severity: Warning
3528+ * Parameter:
3529+ * @1: bus ID of the zfcp device
3530+ * Description:
3531+ * The zfcp device driver detected a missing flag in a QDIO queue. The device
3532+ * driver tries to keep the FCP device operational.
3533+ * User action:
3534+ * Check for related error messages. If this problem occurs frequently, gather
3535+ * Linux debug data, collect the FCP adapter hardware logs, and report the
3536+ * problem to your support organization.
3537+ */
3538+
3539+/*?
3540+ * Text: "%s: Setting up the QDIO connection to the FCP adapter failed\n"
3541+ * Severity: Error
3542+ * Parameter:
3543+ * @1: bus ID of the zfcp device
3544+ * Description:
3545+ * The zfcp device driver failed to establish a QDIO connection with the FCP
3546+ * adapter.
3547+ * User action:
3548+ * Set the FCP adapter offline or detach it from the Linux system, free some
3549+ * memory and set the FCP adapter online again or attach it again. If this
3550+ * problem persists, gather Linux debug data, collect the FCP adapter
3551+ * hardware logs, and report the problem to your support organization.
3552+ */
3553+
3554+/*?
3555+ * Text: "%s: The FCP adapter reported a problem that cannot be recovered\n"
3556+ * Severity: Error
3557+ * Parameter:
3558+ * @1: bus ID of the zfcp device
3559+ * Description:
3560+ * The FCP adapter has a problem that cannot be recovered by the zfcp device
3561+ * driver. The zfcp device driver stopped using the FCP device.
3562+ * User action:
3563+ * Gather Linux debug data, collect the FCP adapter hardware logs, and report
3564+ * this problem to your support organization.
3565+ */
3566+
3567+/*?
3568+ * Text: "%s: There is a wrap plug instead of a fibre channel cable\n"
3569+ * Severity: Warning
3570+ * Parameter:
3571+ * @1: bus ID of the zfcp device
3572+ * Description:
3573+ * The FCP adapter is not physically connected to the fibre channel fabric.
3574+ * User action:
3575+ * Remove the wrap plug from the FCP adapter and connect the adapter with the
3576+ * fibre channel fabric.
3577+ */
3578+
3579+/*?
3580+ * Text: "%s: Access denied to unit 0x%016Lx on port 0x%016Lx\n"
3581+ * Severity: Warning
3582+ * Parameter:
3583+ * @1: bus ID of the zfcp device
3584+ * @2: LUN
3585+ * @3: WWPN
3586+ * Description:
3587+ * The Linux system is not allowed to access the SCSI device at the indicated
3588+ * LUN.
3589+ * User action:
3590+ * Update the access control table of the FCP device to grant the Linux
3591+ * system access to the LUN or remove the LUN from the Linux system.
3592+ */
3593+
3594+/*?
3595+ * Text: "%s: FCP device not operational because of an unsupported FC class\n"
3596+ * Severity: Error
3597+ * Parameter:
3598+ * @1: bus ID of the zfcp device
3599+ * Description:
3600+ * The FCP adapter hardware does not support the fibre channel service class
3601+ * requested by the zfcp device driver. This problem indicates a program error
3602+ * in the zfcp device driver.
3603+ * User action:
3604+ * Gather Linux debug data, collect the FCP adapter hardware logs, and report
3605+ * this problem to your support organization.
3606+ */
3607+
3608+/*?
3609+ * Text: "%s: 0x%Lx is an ambiguous request identifier\n"
3610+ * Severity: Error
3611+ * Parameter:
3612+ * @1: bus ID of the zfcp device
3613+ * @2: request ID
3614+ * Description:
3615+ * The FCP adapter reported that it received the same request ID twice. This is
3616+ * an error. The zfcp device driver stopped using the FCP device.
3617+ * User action:
3618+ * Gather Linux debug data, collect the FCP adapter hardware logs, and report
3619+ * this problem to your support organization.
3620+ */
3621+
3622+/*?
3623+ * Text: "%s: QTCB version 0x%x not supported by FCP adapter (0x%x to 0x%x)\n"
3624+ * Severity: Error
3625+ * Parameter:
3626+ * @1: bus ID of the zfcp device
3627+ * @2: requested version
3628+ * @3: lowest supported version
3629+ * @4: highest supported version
3630+ * Description:
3631+ * See message text.
3632+ * The queue transfer control block (QTCB) version requested by the zfcp device
3633+ * driver is not supported by the FCP adapter hardware.
3634+ * User action:
3635+ * If the requested version is higher than the highest version supported by the
3636+ * hardware, install more recent firmware on the FCP adapter. If the requested
3637+ * version is lower then the lowest version supported by the hardware, upgrade
3638+ * to a Linux level with a more recent zfcp device driver.
3639+ */
3640+
3641+/*?
3642+ * Text: "%s: The FCP adapter could not log in to the fibre channel fabric\n"
3643+ * Severity: Warning
3644+ * Parameter:
3645+ * @1: bus ID of the zfcp device
3646+ * Description:
3647+ * The fibre channel switch rejected the login request from the FCP adapter.
3648+ * User action:
3649+ * Check the fibre channel fabric or switch logs for possible errors.
3650+ */
3651+
3652+/*?
3653+ * Text: "%s: The FCP device is suspended because of a firmware update\n"
3654+ * Severity: Warning
3655+ * Parameter:
3656+ * @1: bus ID of the zfcp device
3657+ * Description:
3658+ * The FCP device is not available while a firmware update is in progress. This
3659+ * problem is temporary. The FCP device will resume operations when the
3660+ * firmware update is completed.
3661+ * User action:
3662+ * Wait 10 seconds and try the operation again.
3663+ */
3664+
3665+/*?
3666+ * Text: "%s: All NPIV ports on the FCP adapter have been assigned\n"
3667+ * Severity: Warning
3668+ * Parameter:
3669+ * @1: bus ID of the zfcp device
3670+ * Description:
3671+ * The number of N_Port ID Virtualization (NPIV) ports that can be assigned
3672+ * on an FCP adapter is limited. Once assigned, NPIV ports are not released
3673+ * automatically but have to be released explicitly through the support
3674+ * element (SE).
3675+ * User action:
3676+ * Identify NPIV ports that have been assigned but are no longer in use and
3677+ * release them from the SE.
3678+ */
3679+
3680+/*?
3681+ * Text: "%s: The link between the FCP adapter and the FC fabric is down\n"
3682+ * Severity: Warning
3683+ * Parameter:
3684+ * @1: bus ID of the zfcp device
3685+ * Description:
3686+ * The FCP adapter is not usable. Specific error information is not available.
3687+ * User action:
3688+ * Check the cabling and the fibre channel fabric configuration. If this
3689+ * problem persists, gather Linux debug data, collect the FCP adapter
3690+ * hardware logs, and report the problem to your support organization.
3691+ */
3692+
3693+/*?
3694+ * Text: "%s: Access denied to port 0x%016Lx\n"
3695+ * Severity: Warning
3696+ * Parameter:
3697+ * @1: bus ID of the zfcp device
3698+ * @2: WWPN
3699+ * Description:
3700+ * The Linux system is not allowed to access the remote port with the specified
3701+ * WWPN.
3702+ * User action:
3703+ * Update the access control table of the FCP device to grant the Linux
3704+ * system access to the WWPN or remove the WWPN from the Linux system.
3705+ */
3706+
3707+/*?
3708+ * Text: "%s: The QTCB type is not supported by the FCP adapter\n"
3709+ * Severity: Error
3710+ * Parameter:
3711+ * @1: bus ID of the zfcp device
3712+ * Description:
3713+ * The queue transfer control block (QTCB) type requested by the zfcp device
3714+ * driver is not supported by the FCP adapter hardware.
3715+ * User action:
3716+ * Install the latest firmware on your FCP adapter hardware. If this does not
3717+ * resolve the problem, upgrade to a Linux level with a more recent zfcp device
3718+ * driver. If the problem persists, contact your support organization.
3719+ */
3720+
3721+/*?
3722+ * Text: "%s: The error threshold for checksum statistics has been exceeded\n"
3723+ * Severity: Warning
3724+ * Parameter:
3725+ * @1: bus ID of the zfcp device
3726+ * Description:
3727+ * The FCP adapter has reported a large number of bit errors. This might
3728+ * indicate a problem with the physical components of the fibre channel fabric.
3729+ * Details about the errors have been written to the HBA trace for the FCP
3730+ * adapter.
3731+ * User action:
3732+ * Check for problems in the fibre channel fabric and ensure that all cables
3733+ * are properly plugged.
3734+ */
3735+
3736+/*?
3737+ * Text: "%s: The local link has been restored\n"
3738+ * Severity: Informational
3739+ * Parameter:
3740+ * @1: bus ID of the zfcp device
3741+ * Description:
3742+ * A problem with the connection between the FCP adapter and the adjacent node
3743+ * on the fibre channel fabric has been resolved. The FCP adapter is now
3744+ * available again.
3745+ * User action:
3746+ * None.
3747+ */
3748+
3749+/*?
3750+ * Text: "%s: Access denied according to ACT rule type %s, rule %d\n"
3751+ * Severity: Warning
3752+ * Parameter:
3753+ * @1: bus ID of the zfcp device
3754+ * @2: access rule type
3755+ * @3: access rule
3756+ * Description:
3757+ * A rule in the access control table (ACT) for the FCP device denies access
3758+ * to a remote port or a LUN.
3759+ * User action:
3760+ * Examine the access control tables for the FCP device to see if the
3761+ * specified rule is correct.
3762+ */
3763+
3764+/*?
3765+ * Text: "%s: The mode table on the FCP adapter has been damaged\n"
3766+ * Severity: Warning
3767+ * Parameter:
3768+ * @1: bus ID of the zfcp device
3769+ * Description:
3770+ * This is an FCP adapter hardware problem.
3771+ * User action:
3772+ * Report this problem with FCP hardware logs to IBM support.
3773+ */
3774+
3775+/*?
3776+ * Text: "%s: The adjacent fibre channel node does not support FCP\n"
3777+ * Severity: Warning
3778+ * Parameter:
3779+ * @1: bus ID of the zfcp device
3780+ * Description:
3781+ * The fibre channel switch or storage system that is connected to the FCP
3782+ * channel does not support the fibre channel protocol (FCP). The zfcp
3783+ * device driver stopped using the FCP device.
3784+ * User action:
3785+ * Check the adjacent fibre channel node.
3786+ */
3787+
3788+/*?
3789+ * Text: "%s: The FCP adapter does not recognize the command 0x%x\n"
3790+ * Severity: Error
3791+ * Parameter:
3792+ * @1: bus ID of the zfcp device
3793+ * @2: command
3794+ * Description:
3795+ * A command code that was sent from the zfcp device driver to the FCP adapter
3796+ * is not valid. The zfcp device driver stopped using the FCP device.
3797+ * User action:
3798+ * Gather Linux debug data, collect the FCP adapter hardware logs, and report
3799+ * this problem to your support organization.
3800+ */
3801+
3802+/*?
3803+ * Text: "%s: There is no light signal from the local fibre channel cable\n"
3804+ * Severity: Warning
3805+ * Parameter:
3806+ * @1: bus ID of the zfcp device
3807+ * Description:
3808+ * There is no signal on the fibre channel cable that connects the FCP adapter
3809+ * to the fibre channel fabric.
3810+ * User action:
3811+ * Ensure that the cable is in place and connected properly to the FCP adapter
3812+ * and to the adjacent fibre channel switch or storage system.
3813+ */
3814+
3815+/*?
3816+ * Text: "%s: The WWPN assignment file on the FCP adapter has been damaged\n"
3817+ * Severity: Warning
3818+ * Parameter:
3819+ * @1: bus ID of the zfcp device
3820+ * Description:
3821+ * This is an FCP adapter hardware problem.
3822+ * User action:
3823+ * Report this problem with FCP hardware logs to IBM support.
3824+ */
3825+
3826+/*?
3827+ * Text: "%s: The FCP device detected a WWPN that is duplicate or not valid\n"
3828+ * Severity: Warning
3829+ * Parameter:
3830+ * @1: bus ID of the zfcp device
3831+ * Description:
3832+ * This condition indicates an error in the FCP adapter hardware or in the z/VM
3833+ * hypervisor.
3834+ * User action:
3835+ * Gather Linux debug data, collect the FCP adapter hardware logs, and report
3836+ * this problem to IBM support.
3837+ */
3838+
3839+/*?
3840+ * Text: "%s: The fibre channel fabric does not support NPIV\n"
3841+ * Severity: Warning
3842+ * Parameter:
3843+ * @1: bus ID of the zfcp device
3844+ * Description:
3845+ * The FCP adapter requires N_Port ID Virtualization (NPIV) from the adjacent
3846+ * fibre channel node. Either the FCP adapter is connected to a fibre channel
3847+ * switch that does not support NPIV or the FCP adapter tries to use NPIV in a
3848+ * point-to-point setup. The connection is not operational.
3849+ * User action:
3850+ * Verify that NPIV is correctly used for this connection. Check the FCP adapter
3851+ * configuration and the fibre channel switch configuration. If necessary,
3852+ * update the fibre channel switch firmware.
3853+ */
3854+
3855+/*?
3856+ * Text: "%s: The FCP adapter cannot support more NPIV ports\n"
3857+ * Severity: Warning
3858+ * Parameter:
3859+ * @1: bus ID of the zfcp device
3860+ * Description:
3861+ * N_Port ID Virtualization (NPIV) ports consume physical resources on the FCP
3862+ * adapter. The FCP adapter resources are exhausted. The connection is not
3863+ * operational.
3864+ * User action:
3865+ * Analyze the number of available NPIV ports and which operating system
3866+ * instances use them. If necessary, reconfigure your setup to move some
3867+ * NPIV ports to an FCP adapter with free resources.
3868+ */
3869+
3870+/*?
3871+ * Text: "%s: The adjacent switch cannot support more NPIV ports\n"
3872+ * Severity: Warning
3873+ * Parameter:
3874+ * @1: bus ID of the zfcp device
3875+ * Description:
3876+ * N_Port ID Virtualization (NPIV) ports consume physical resources. The
3877+ * resources of the fibre channel switch that is connected to the FCP adapter
3878+ * are exhausted. The connection is not operational.
3879+ * User action:
3880+ * Analyze the number of available NPIV ports on the adjacent fibre channel
3881+ * switch and how they are used. If necessary, reconfigure your fibre channel
3882+ * fabric to accommodate the required NPIV ports.
3883+ */
3884+
3885+/*?
3886+ * Text: "%s: 0x%x is not a valid transfer protocol status\n"
3887+ * Severity: Error
3888+ * Parameter:
3889+ * @1: bus ID of the zfcp device
3890+ * @2: status information
3891+ * Description:
3892+ * The transfer protocol status information reported by the FCP adapter is not
3893+ * a valid status for the zfcp device driver. The zfcp device driver stopped
3894+ * using the FCP device.
3895+ * User action:
3896+ * Gather Linux debug data, collect the FCP adapter hardware logs, and report
3897+ * this problem to your support organization.
3898+ */
3899+
3900+/*?
3901+ * Text: "%s: Unknown or unsupported arbitrated loop fibre channel topology detected\n"
3902+ * Severity: Error
3903+ * Parameter:
3904+ * @1: bus ID of the zfcp device
3905+ * Description:
3906+ * The FCP device is connected to a fibre channel arbitrated loop or the FCP adapter
3907+ * reported an unknown fibre channel topology. The zfcp device driver supports
3908+ * point-to-point connections and switched fibre channel fabrics but not arbitrated
3909+ * loop topologies. The FCP device cannot be used.
3910+ * User action:
3911+ * Check the fibre channel setup and ensure that only supported topologies are
3912+ * connected to the FCP adapter.
3913+ */
3914+
3915+/*?
3916+ * Text: "%s: FCP adapter maximum QTCB size (%d bytes) is too small\n"
3917+ * Severity: Error
3918+ * Parameter:
3919+ * @1: bus ID of the zfcp device
3920+ * @2: maximum supported size
3921+ * @3: requested QTCB size
3922+ * Description:
3923+ * The queue transfer control block (QTCB) size requested by the zfcp
3924+ * device driver is not supported by the FCP adapter hardware.
3925+ * User action:
3926+ * Update the firmware on your FCP adapter hardware to the latest
3927+ * available level and update the Linux kernel to the latest supported
3928+ * level. If the problem persists, contact your support organization.
3929+ */
3930+
3931+/*?
3932+ * Text: "%s: The FCP adapter only supports newer control block versions\n"
3933+ * Severity: Error
3934+ * Parameter:
3935+ * @1: bus ID of the zfcp device
3936+ * Description:
3937+ * The protocol supported by the FCP adapter is not compatible with the zfcp
3938+ * device driver.
3939+ * User action:
3940+ * Upgrade your Linux kernel to a level that includes a zfcp device driver
3941+ * with support for the control block version required by your FCP adapter.
3942+ */
3943+
3944+/*?
3945+ * Text: "%s: The FCP adapter only supports older control block versions\n"
3946+ * Severity: Error
3947+ * Parameter:
3948+ * @1: bus ID of the zfcp device
3949+ * Description:
3950+ * The protocol supported by the FCP adapter is not compatible with the zfcp
3951+ * device driver.
3952+ * User action:
3953+ * Install the latest firmware on your FCP adapter.
3954+ */
3955+
3956+/*?
3957+ * Text: "%s: Not enough FCP adapter resources to open remote port 0x%016Lx\n"
3958+ * Severity: Warning
3959+ * Parameter:
3960+ * @1: bus ID of the zfcp device
3961+ * @2: WWPN
3962+ * Description:
3963+ * Each port that is opened consumes physical resources of the FCP adapter to
3964+ * which it is attached. These resources are exhausted and the specified port
3965+ * cannot be opened.
3966+ * User action:
3967+ * Reduce the total number of remote ports that are attached to the
3968+ * FCP adapter.
3969+ */
3970+
3971+/*?
3972+ * Text: "%s: Remote port 0x%016Lx could not be opened\n"
3973+ * Severity: Warning
3974+ * Parameter:
3975+ * @1: bus ID of the zfcp device
3976+ * @2: WWPN
3977+ * Description:
3978+ * The FCP adapter rejected a request to open the specified port. No retry
3979+ * is possible.
3980+ * User action:
3981+ * Verify the setup and try removing and adding the port again. If this
3982+ * problem persists, gather Linux debug data, collect the FCP adapter
3983+ * hardware logs, and report the problem to your support organization.
3984+ */
3985+
3986+/*?
3987+ * Text: "%s: LUN 0x%Lx on port 0x%Lx is already in use by CSS%d, MIF Image ID %x\n"
3988+ * Severity: Warning
3989+ * Parameter:
3990+ * @1: bus ID of the zfcp device
3991+ * @2: LUN
3992+ * @3: remote port WWPN
3993+ * @4: channel subsystem ID
3994+ * @5: MIF Image ID of the LPAR
3995+ * Description:
3996+ * The SCSI device at the indicated LUN is already in use by another system.
3997+ * Only one system at a time can use the SCSI device.
3998+ * User action:
3999+ * Ensure that the other system stops using the device before trying to use it.
4000+ */
4001+
4002+/*?
4003+ * Text: "%s: No handle is available for LUN 0x%016Lx on port 0x%016Lx\n"
4004+ * Severity: Warning
4005+ * Parameter:
4006+ * @1: bus ID of the zfcp device
4007+ * @2: LUN
4008+ * @3: WWPN
4009+ * Description:
4010+ * The FCP adapter can only open a limited number of SCSI devices. This limit
4011+ * has been reached and the SCSI device at the indicated LUN cannot be opened.
4012+ * User action:
4013+ * Check all SCSI devices opened through the FCP adapter and close some of them.
4014+ */
4015+
4016+/*?
4017+ * Text: "%s: SCSI device at LUN 0x%016Lx on port 0x%016Lx opened read-only\n"
4018+ * Severity: Informational
4019+ * Parameter:
4020+ * @1: bus ID of the zfcp device
4021+ * @2: LUN
4022+ * @3: WWPN
4023+ * Description:
4024+ * The access control tables in the FCP adapter allow read-only access for the
4025+ * LUN. Write access is not permitted for your Linux instance. The SCSI
4026+ * device has been opened successfully in read-only access mode.
4027+ * User action:
4028+ * None if read-only access is sufficient. If you require write access, change
4029+ * the access control tables in the FCP adapter.
4030+ */
4031+
4032+/*?
4033+ * Text: "%s: Exclusive read-only access not supported (unit 0x%016Lx, port 0x%016Lx)\n"
4034+ * Severity: Error
4035+ * Parameter:
4036+ * @1: bus ID of the zfcp device
4037+ * @2: LUN
4038+ * @3: WWPN
4039+ * Description:
4040+ * The access configuration specified in the access control tables of the FCP
4041+ * adapter is not valid. The SCSI device at the indicated LUN cannot be
4042+ * accessed.
4043+ * User action:
4044+ * Change the access control tables in the FCP adapter.
4045+ */
4046+
4047+/*?
4048+ * Text: "%s: Shared read-write access not supported (unit 0x%016Lx, port 0x%016Lx\n)"
4049+ * Severity: Error
4050+ * Parameter:
4051+ * @1: bus ID of the zfcp device
4052+ * @2: LUN
4053+ * @3: WWPN
4054+ * Description:
4055+ * The access configuration specified in the access control tables of the FCP
4056+ * adapter is not valid. The SCSI device at the indicated LUN cannot be
4057+ * accessed.
4058+ * User action:
4059+ * Change the access control tables in the FCP adapter.
4060+ */
4061+
4062+/*?
4063+ * Text: "%s: Incorrect direction %d, unit 0x%016Lx on port 0x%016Lx closed\n"
4064+ * Severity: Error
4065+ * Parameter:
4066+ * @1: bus ID of the zfcp device
4067+ * @2: value in direction field
4068+ * @3: LUN
4069+ * @4: WWPN
4070+ * Description:
4071+ * The direction field in a SCSI request contains an incorrect value. The zfcp
4072+ * device driver closed down the SCSI device at the indicated LUN.
4073+ * User action:
4074+ * Gather Linux debug data and report this problem to your support organization.
4075+ */
4076+
4077+/*?
4078+ * Text: "%s: Incorrect CDB length %d, unit 0x%016Lx on port 0x%016Lx closed\n"
4079+ * Severity: Error
4080+ * Parameter:
4081+ * @1: bus ID of the zfcp device
4082+ * @2: value in length field
4083+ * @3: LUN
4084+ * @4: WWPN
4085+ * Description:
4086+ * The control-data-block (CDB) length field in a SCSI request is not valid or
4087+ * too large for the FCP adapter. The zfcp device driver closed down the SCSI
4088+ * device at the indicated LUN.
4089+ * User action:
4090+ * Gather Linux debug data and report this problem to your support organization.
4091+ */
4092+
4093+/*?
4094+ * Text: "%s: Oversize data package, unit 0x%016Lx on port 0x%016Lx closed\n"
4095+ * Severity: Error
4096+ * Parameter:
4097+ * @1: bus ID of the zfcp device
4098+ * @2: LUN
4099+ * @3: WWPN
4100+ * Description:
4101+ * A SCSI request with too much data has been sent to the SCSI device at the
4102+ * indicated LUN. The FCP adapter cannot handle data packets of this size and
4103+ * the SCSI device driver closed down the SCSI device.
4104+ * User action:
4105+ * Gather Linux debug data and report this problem to your support organization.
4106+ */
4107+
4108+/*?
4109+ * Text: "%s: Opening WKA port 0x%x failed\n"
4110+ * Severity: Warning
4111+ * Parameter:
4112+ * @1: bus ID of the zfcp device
4113+ * @2: destination ID of the WKA port
4114+ * Description:
4115+ * The FCP adapter rejected a request to open the specified
4116+ * well-known address (WKA) port. No retry is possible.
4117+ * User action:
4118+ * Verify the setup and check if the maximum number of remote ports
4119+ * used through this adapter is below the maximum allowed. If the
4120+ * problem persists, gather Linux debug data, collect the FCP adapter
4121+ * hardware logs, and report the problem to your support organization.
4122+ */
4123--- a/Makefile
4124+++ b/Makefile
4125@@ -63,6 +63,20 @@ ifndef KBUILD_CHECKSRC
4126 KBUILD_CHECKSRC = 0
4127 endif
4128
4129+# Call message checker as part of the C compilation
4130+#
4131+# Use 'make D=1' to enable checking
4132+# Use 'make D=2' to create the message catalog
4133+
4134+ifdef D
4135+ ifeq ("$(origin D)", "command line")
4136+ KBUILD_KMSG_CHECK = $(D)
4137+ endif
4138+endif
4139+ifndef KBUILD_KMSG_CHECK
4140+ KBUILD_KMSG_CHECK = 0
4141+endif
4142+
4143 # Use make M=dir to specify directory of external module to build
4144 # Old syntax make ... SUBDIRS=$PWD is still supported
4145 # Setting the environment variable KBUILD_EXTMOD take precedence
4146@@ -321,6 +335,7 @@ PERL = perl
4147 CHECK = sparse
4148
4149 CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ -Wbitwise $(CF)
4150+KMSG_CHECK = $(srctree)/scripts/kmsg-doc
4151 MODFLAGS = -DMODULE
4152 CFLAGS_MODULE = $(MODFLAGS)
4153 AFLAGS_MODULE = $(MODFLAGS)
4154@@ -361,6 +376,7 @@ export HOSTCXX HOSTCXXFLAGS LDFLAGS_MODU
4155 export KBUILD_CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS LDFLAGS
4156 export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE
4157 export KBUILD_AFLAGS AFLAGS_KERNEL AFLAGS_MODULE
4158+export KBUILD_KMSG_CHECK KMSG_CHECK
4159
4160 # When compiling out-of-tree modules, put MODVERDIR in the module
4161 # tree rather than in the kernel tree. The kernel tree might
4162--- a/arch/s390/Kconfig
4163+++ b/arch/s390/Kconfig
4164@@ -572,6 +572,15 @@ bool "s390 guest support (EXPERIMENTAL)"
4165 select VIRTIO_CONSOLE
4166 help
4167 Select this option if you want to run the kernel under s390 linux
4168+
4169+config KMSG_IDS
4170+ bool "Kernel message numbers"
4171+ default y
4172+ help
4173+ Select this option if you want to include a message number to the
4174+ prefix for kernel messages issued by the s390 architecture and
4175+ driver code. See "Documentation/s390/kmsg.txt" for more details.
4176+
4177 endmenu
4178
4179 source "net/Kconfig"
4180--- a/arch/s390/appldata/appldata.h
4181+++ b/arch/s390/appldata/appldata.h
4182@@ -26,10 +26,6 @@
4183 #define CTL_APPLDATA_NET_SUM 2125
4184 #define CTL_APPLDATA_PROC 2126
4185
4186-#define P_INFO(x...) printk(KERN_INFO MY_PRINT_NAME " info: " x)
4187-#define P_ERROR(x...) printk(KERN_ERR MY_PRINT_NAME " error: " x)
4188-#define P_WARNING(x...) printk(KERN_WARNING MY_PRINT_NAME " status: " x)
4189-
4190 struct appldata_ops {
4191 struct list_head list;
4192 struct ctl_table_header *sysctl_header;
4193--- a/arch/s390/appldata/appldata_base.c
4194+++ b/arch/s390/appldata/appldata_base.c
4195@@ -10,6 +10,8 @@
4196 * Author: Gerald Schaefer <gerald.schaefer@de.ibm.com>
4197 */
4198
4199+#define KMSG_COMPONENT "appldata"
4200+
4201 #include <linux/module.h>
4202 #include <linux/init.h>
4203 #include <linux/slab.h>
4204@@ -32,7 +34,6 @@
4205 #include "appldata.h"
4206
4207
4208-#define MY_PRINT_NAME "appldata" /* for debug messages, etc. */
4209 #define APPLDATA_CPU_INTERVAL 10000 /* default (CPU) time for
4210 sampling interval in
4211 milliseconds */
4212@@ -390,8 +391,8 @@ appldata_generic_handler(ctl_table *ctl,
4213 (unsigned long) ops->data, ops->size,
4214 ops->mod_lvl);
4215 if (rc != 0) {
4216- P_ERROR("START DIAG 0xDC for %s failed, "
4217- "return code: %d\n", ops->name, rc);
4218+ pr_err("Starting the data collection for %s "
4219+ "failed with rc=%d\n", ops->name, rc);
4220 module_put(ops->owner);
4221 } else
4222 ops->active = 1;
4223@@ -401,8 +402,8 @@ appldata_generic_handler(ctl_table *ctl,
4224 (unsigned long) ops->data, ops->size,
4225 ops->mod_lvl);
4226 if (rc != 0)
4227- P_ERROR("STOP DIAG 0xDC for %s failed, "
4228- "return code: %d\n", ops->name, rc);
4229+ pr_err("Stopping the data collection for %s "
4230+ "failed with rc=%d\n", ops->name, rc);
4231 module_put(ops->owner);
4232 }
4233 spin_unlock(&appldata_ops_lock);
4234--- a/arch/s390/appldata/appldata_os.c
4235+++ b/arch/s390/appldata/appldata_os.c
4236@@ -9,6 +9,8 @@
4237 * Author: Gerald Schaefer <gerald.schaefer@de.ibm.com>
4238 */
4239
4240+#define KMSG_COMPONENT "appldata"
4241+
4242 #include <linux/module.h>
4243 #include <linux/init.h>
4244 #include <linux/slab.h>
4245@@ -22,7 +24,6 @@
4246 #include "appldata.h"
4247
4248
4249-#define MY_PRINT_NAME "appldata_os" /* for debug messages, etc. */
4250 #define LOAD_INT(x) ((x) >> FSHIFT)
4251 #define LOAD_FRAC(x) LOAD_INT(((x) & (FIXED_1-1)) * 100)
4252
4253@@ -143,21 +144,16 @@ static void appldata_get_os_data(void *d
4254 (unsigned long) ops.data, new_size,
4255 ops.mod_lvl);
4256 if (rc != 0)
4257- P_ERROR("os: START NEW DIAG 0xDC failed, "
4258- "return code: %d, new size = %i\n", rc,
4259- new_size);
4260+ pr_err("Starting a new OS data collection "
4261+ "failed with rc=%d\n", rc);
4262
4263 rc = appldata_diag(APPLDATA_RECORD_OS_ID,
4264 APPLDATA_STOP_REC,
4265 (unsigned long) ops.data, ops.size,
4266 ops.mod_lvl);
4267 if (rc != 0)
4268- P_ERROR("os: STOP OLD DIAG 0xDC failed, "
4269- "return code: %d, old size = %i\n", rc,
4270- ops.size);
4271- else
4272- P_INFO("os: old record size = %i stopped\n",
4273- ops.size);
4274+ pr_err("Stopping a faulty OS data "
4275+ "collection failed with rc=%d\n", rc);
4276 }
4277 ops.size = new_size;
4278 }
4279@@ -178,8 +174,8 @@ static int __init appldata_os_init(void)
4280 max_size = sizeof(struct appldata_os_data) +
4281 (NR_CPUS * sizeof(struct appldata_os_per_cpu));
4282 if (max_size > APPLDATA_MAX_REC_SIZE) {
4283- P_ERROR("Max. size of OS record = %i, bigger than maximum "
4284- "record size (%i)\n", max_size, APPLDATA_MAX_REC_SIZE);
4285+ pr_err("Maximum OS record size %i exceeds the maximum "
4286+ "record size %i\n", max_size, APPLDATA_MAX_REC_SIZE);
4287 rc = -ENOMEM;
4288 goto out;
4289 }
4290--- a/arch/s390/crypto/aes_s390.c
4291+++ b/arch/s390/crypto/aes_s390.c
4292@@ -17,6 +17,8 @@
4293 *
4294 */
4295
4296+#define KMSG_COMPONENT "aes_s390"
4297+
4298 #include <crypto/aes.h>
4299 #include <crypto/algapi.h>
4300 #include <linux/err.h>
4301@@ -169,7 +171,8 @@ static int fallback_init_cip(struct cryp
4302 CRYPTO_ALG_ASYNC | CRYPTO_ALG_NEED_FALLBACK);
4303
4304 if (IS_ERR(sctx->fallback.cip)) {
4305- printk(KERN_ERR "Error allocating fallback algo %s\n", name);
4306+ pr_err("Allocating AES fallback algorithm %s failed\n",
4307+ name);
4308 return PTR_ERR(sctx->fallback.blk);
4309 }
4310
4311@@ -349,7 +352,8 @@ static int fallback_init_blk(struct cryp
4312 CRYPTO_ALG_ASYNC | CRYPTO_ALG_NEED_FALLBACK);
4313
4314 if (IS_ERR(sctx->fallback.blk)) {
4315- printk(KERN_ERR "Error allocating fallback algo %s\n", name);
4316+ pr_err("Allocating AES fallback algorithm %s failed\n",
4317+ name);
4318 return PTR_ERR(sctx->fallback.blk);
4319 }
4320
4321@@ -515,9 +519,8 @@ static int __init aes_s390_init(void)
4322
4323 /* z9 109 and z9 BC/EC only support 128 bit key length */
4324 if (keylen_flag == AES_KEYLEN_128)
4325- printk(KERN_INFO
4326- "aes_s390: hardware acceleration only available for "
4327- "128 bit keys\n");
4328+ pr_info("AES hardware acceleration is only available for"
4329+ " 128-bit keys\n");
4330
4331 ret = crypto_register_alg(&aes_alg);
4332 if (ret)
4333--- a/arch/s390/hypfs/hypfs_diag.c
4334+++ b/arch/s390/hypfs/hypfs_diag.c
4335@@ -3,10 +3,12 @@
4336 * Hypervisor filesystem for Linux on s390. Diag 204 and 224
4337 * implementation.
4338 *
4339- * Copyright (C) IBM Corp. 2006
4340+ * Copyright IBM Corp. 2006, 2008
4341 * Author(s): Michael Holzheu <holzheu@de.ibm.com>
4342 */
4343
4344+#define KMSG_COMPONENT "hypfs"
4345+
4346 #include <linux/types.h>
4347 #include <linux/errno.h>
4348 #include <linux/string.h>
4349@@ -527,13 +529,14 @@ __init int hypfs_diag_init(void)
4350 int rc;
4351
4352 if (diag204_probe()) {
4353- printk(KERN_ERR "hypfs: diag 204 not working.");
4354+ pr_err("The hardware system does not support hypfs\n");
4355 return -ENODATA;
4356 }
4357 rc = diag224_get_name_table();
4358 if (rc) {
4359 diag204_free_buffer();
4360- printk(KERN_ERR "hypfs: could not get name table.\n");
4361+ pr_err("The hardware system does not provide all "
4362+ "functions required by hypfs\n");
4363 }
4364 return rc;
4365 }
4366--- a/arch/s390/hypfs/inode.c
4367+++ b/arch/s390/hypfs/inode.c
4368@@ -2,10 +2,12 @@
4369 * arch/s390/hypfs/inode.c
4370 * Hypervisor filesystem for Linux on s390.
4371 *
4372- * Copyright (C) IBM Corp. 2006
4373+ * Copyright IBM Corp. 2006, 2008
4374 * Author(s): Michael Holzheu <holzheu@de.ibm.com>
4375 */
4376
4377+#define KMSG_COMPONENT "hypfs"
4378+
4379 #include <linux/types.h>
4380 #include <linux/errno.h>
4381 #include <linux/fs.h>
4382@@ -200,7 +202,7 @@ static ssize_t hypfs_aio_write(struct ki
4383 else
4384 rc = hypfs_diag_create_files(sb, sb->s_root);
4385 if (rc) {
4386- printk(KERN_ERR "hypfs: Update failed\n");
4387+ pr_err("Updating the hypfs tree failed\n");
4388 hypfs_delete_tree(sb->s_root);
4389 goto out;
4390 }
4391@@ -252,8 +254,7 @@ static int hypfs_parse_options(char *opt
4392 break;
4393 case opt_err:
4394 default:
4395- printk(KERN_ERR "hypfs: Unrecognized mount option "
4396- "\"%s\" or missing value\n", str);
4397+ pr_err("%s is not a valid mount option\n", str);
4398 return -EINVAL;
4399 }
4400 }
4401@@ -317,7 +318,7 @@ static int hypfs_fill_super(struct super
4402 }
4403 hypfs_update_update(sb);
4404 sb->s_root = root_dentry;
4405- printk(KERN_INFO "hypfs: Hypervisor filesystem mounted\n");
4406+ pr_info("Hypervisor filesystem mounted\n");
4407 return 0;
4408
4409 err_tree:
4410@@ -513,7 +514,7 @@ fail_sysfs:
4411 if (!MACHINE_IS_VM)
4412 hypfs_diag_exit();
4413 fail_diag:
4414- printk(KERN_ERR "hypfs: Initialization failed with rc = %i.\n", rc);
4415+ pr_err("Initialization of hypfs failed with rc=%i\n", rc);
4416 return rc;
4417 }
4418
4419--- a/arch/s390/kernel/Makefile
4420+++ b/arch/s390/kernel/Makefile
4421@@ -12,8 +12,8 @@ CFLAGS_smp.o := -Wno-nonnull
4422 #
4423 CFLAGS_ptrace.o += -DUTS_MACHINE='"$(UTS_MACHINE)"'
4424
4425-obj-y := bitmap.o traps.o time.o process.o base.o early.o \
4426- setup.o sys_s390.o ptrace.o signal.o cpcmd.o ebcdic.o \
4427+obj-y := bitmap.o traps.o time.o process.o base.o early.o setup.o \
4428+ processor.o sys_s390.o ptrace.o signal.o cpcmd.o ebcdic.o \
4429 s390_ext.o debug.o irq.o ipl.o dis.o diag.o mem_detect.o
4430
4431 obj-y += $(if $(CONFIG_64BIT),entry64.o,entry.o)
4432--- a/arch/s390/kernel/cpcmd.c
4433+++ b/arch/s390/kernel/cpcmd.c
4434@@ -7,6 +7,8 @@
4435 * Christian Borntraeger (cborntra@de.ibm.com),
4436 */
4437
4438+#define KMSG_COMPONENT "cpcmd"
4439+
4440 #include <linux/kernel.h>
4441 #include <linux/module.h>
4442 #include <linux/slab.h>
4443@@ -104,8 +106,8 @@ int cpcmd(const char *cmd, char *respons
4444 (((unsigned long)response + rlen) >> 31)) {
4445 lowbuf = kmalloc(rlen, GFP_KERNEL | GFP_DMA);
4446 if (!lowbuf) {
4447- printk(KERN_WARNING
4448- "cpcmd: could not allocate response buffer\n");
4449+ pr_warning("The cpcmd kernel function failed to "
4450+ "allocate a response buffer\n");
4451 return -ENOMEM;
4452 }
4453 spin_lock_irqsave(&cpcmd_lock, flags);
4454--- a/arch/s390/kernel/debug.c
4455+++ b/arch/s390/kernel/debug.c
4456@@ -10,6 +10,8 @@
4457 * Bugreports to: <Linux390@de.ibm.com>
4458 */
4459
4460+#define KMSG_COMPONENT "s390dbf"
4461+
4462 #include <linux/stddef.h>
4463 #include <linux/kernel.h>
4464 #include <linux/errno.h>
4465@@ -693,8 +695,8 @@ debug_info_t *debug_register_mode(const
4466 /* Since debugfs currently does not support uid/gid other than root, */
4467 /* we do not allow gid/uid != 0 until we get support for that. */
4468 if ((uid != 0) || (gid != 0))
4469- printk(KERN_WARNING "debug: Warning - Currently only uid/gid "
4470- "= 0 are supported. Using root as owner now!");
4471+ pr_warning("Root becomes the owner of all s390dbf files "
4472+ "in sysfs\n");
4473 if (!initialized)
4474 BUG();
4475 mutex_lock(&debug_mutex);
4476@@ -709,7 +711,7 @@ debug_info_t *debug_register_mode(const
4477 debug_register_view(rc, &debug_pages_view);
4478 out:
4479 if (!rc){
4480- printk(KERN_ERR "debug: debug_register failed for %s\n",name);
4481+ pr_err("Registering debug feature %s failed\n", name);
4482 }
4483 mutex_unlock(&debug_mutex);
4484 return rc;
4485@@ -763,8 +765,8 @@ debug_set_size(debug_info_t* id, int nr_
4486 if(pages_per_area > 0){
4487 new_areas = debug_areas_alloc(pages_per_area, nr_areas);
4488 if(!new_areas) {
4489- printk(KERN_WARNING "debug: could not allocate memory "\
4490- "for pagenumber: %i\n",pages_per_area);
4491+ pr_info("Allocating memory for %i pages failed\n",
4492+ pages_per_area);
4493 rc = -ENOMEM;
4494 goto out;
4495 }
4496@@ -780,8 +782,7 @@ debug_set_size(debug_info_t* id, int nr_
4497 memset(id->active_entries,0,sizeof(int)*id->nr_areas);
4498 memset(id->active_pages, 0, sizeof(int)*id->nr_areas);
4499 spin_unlock_irqrestore(&id->lock,flags);
4500- printk(KERN_INFO "debug: %s: set new size (%i pages)\n"\
4501- ,id->name, pages_per_area);
4502+ pr_info("%s: set new size (%i pages)\n" ,id->name, pages_per_area);
4503 out:
4504 return rc;
4505 }
4506@@ -800,10 +801,9 @@ debug_set_level(debug_info_t* id, int ne
4507 spin_lock_irqsave(&id->lock,flags);
4508 if(new_level == DEBUG_OFF_LEVEL){
4509 id->level = DEBUG_OFF_LEVEL;
4510- printk(KERN_INFO "debug: %s: switched off\n",id->name);
4511+ pr_info("%s: switched off\n",id->name);
4512 } else if ((new_level > DEBUG_MAX_LEVEL) || (new_level < 0)) {
4513- printk(KERN_INFO
4514- "debug: %s: level %i is out of range (%i - %i)\n",
4515+ pr_info("%s: level %i is out of range (%i - %i)\n",
4516 id->name, new_level, 0, DEBUG_MAX_LEVEL);
4517 } else {
4518 id->level = new_level;
4519@@ -1108,8 +1108,8 @@ debug_register_view(debug_info_t * id, s
4520 pde = debugfs_create_file(view->name, mode, id->debugfs_root_entry,
4521 id , &debug_file_ops);
4522 if (!pde){
4523- printk(KERN_WARNING "debug: debugfs_create_file() failed!"\
4524- " Cannot register view %s/%s\n", id->name,view->name);
4525+ pr_err("Registering view %s/%s failed due to out of "
4526+ "memory\n", id->name,view->name);
4527 rc = -1;
4528 goto out;
4529 }
4530@@ -1119,10 +1119,8 @@ debug_register_view(debug_info_t * id, s
4531 break;
4532 }
4533 if (i == DEBUG_MAX_VIEWS) {
4534- printk(KERN_WARNING "debug: cannot register view %s/%s\n",
4535- id->name,view->name);
4536- printk(KERN_WARNING
4537- "debug: maximum number of views reached (%i)!\n", i);
4538+ pr_err("Registering view %s/%s would exceed the maximum "
4539+ "number of views %i\n", id->name, view->name, i);
4540 debugfs_remove(pde);
4541 rc = -1;
4542 } else {
4543@@ -1303,7 +1301,8 @@ debug_input_level_fn(debug_info_t * id,
4544 new_level = debug_get_uint(str);
4545 }
4546 if(new_level < 0) {
4547- printk(KERN_INFO "debug: level `%s` is not valid\n", str);
4548+ pr_warning("%s is not a valid level for a debug "
4549+ "feature\n", str);
4550 rc = -EINVAL;
4551 } else {
4552 debug_set_level(id, new_level);
4553@@ -1380,7 +1379,8 @@ debug_input_flush_fn(debug_info_t * id,
4554 goto out;
4555 }
4556
4557- printk(KERN_INFO "debug: area `%c` is not valid\n", input_buf[0]);
4558+ pr_info("Flushing debug data failed because %c is not a valid "
4559+ "area\n", input_buf[0]);
4560
4561 out:
4562 *offset += user_len;
4563--- /dev/null
4564+++ b/arch/s390/kernel/processor.c
4565@@ -0,0 +1,97 @@
4566+/*
4567+ * arch/s390/kernel/processor.c
4568+ *
4569+ * Copyright IBM Corp. 2008
4570+ * Author(s): Martin Schwidefsky (schwidefsky@de.ibm.com)
4571+ */
4572+
4573+#define KMSG_COMPONENT "cpu"
4574+
4575+#include <linux/kernel.h>
4576+#include <linux/init.h>
4577+#include <linux/smp.h>
4578+#include <linux/seq_file.h>
4579+#include <linux/delay.h>
4580+
4581+#include <asm/elf.h>
4582+#include <asm/lowcore.h>
4583+#include <asm/param.h>
4584+
4585+void __cpuinit print_cpu_info(struct cpuinfo_S390 *cpuinfo)
4586+{
4587+ pr_info("Processor %d started, address %d, identification %06X\n",
4588+ cpuinfo->cpu_nr, cpuinfo->cpu_addr, cpuinfo->cpu_id.ident);
4589+}
4590+
4591+/*
4592+ * show_cpuinfo - Get information on one CPU for use by procfs.
4593+ */
4594+
4595+static int show_cpuinfo(struct seq_file *m, void *v)
4596+{
4597+ static const char *hwcap_str[8] = {
4598+ "esan3", "zarch", "stfle", "msa", "ldisp", "eimm", "dfp",
4599+ "edat"
4600+ };
4601+ struct cpuinfo_S390 *cpuinfo;
4602+ unsigned long n = (unsigned long) v - 1;
4603+ int i;
4604+
4605+ s390_adjust_jiffies();
4606+ preempt_disable();
4607+ if (!n) {
4608+ seq_printf(m, "vendor_id : IBM/S390\n"
4609+ "# processors : %i\n"
4610+ "bogomips per cpu: %lu.%02lu\n",
4611+ num_online_cpus(), loops_per_jiffy/(500000/HZ),
4612+ (loops_per_jiffy/(5000/HZ))%100);
4613+ seq_puts(m, "features\t: ");
4614+ for (i = 0; i < 8; i++)
4615+ if (hwcap_str[i] && (elf_hwcap & (1UL << i)))
4616+ seq_printf(m, "%s ", hwcap_str[i]);
4617+ seq_puts(m, "\n");
4618+ }
4619+
4620+ if (cpu_online(n)) {
4621+#ifdef CONFIG_SMP
4622+ if (smp_processor_id() == n)
4623+ cpuinfo = &S390_lowcore.cpu_data;
4624+ else
4625+ cpuinfo = &lowcore_ptr[n]->cpu_data;
4626+#else
4627+ cpuinfo = &S390_lowcore.cpu_data;
4628+#endif
4629+ seq_printf(m, "processor %li: "
4630+ "version = %02X, "
4631+ "identification = %06X, "
4632+ "machine = %04X\n",
4633+ n, cpuinfo->cpu_id.version,
4634+ cpuinfo->cpu_id.ident,
4635+ cpuinfo->cpu_id.machine);
4636+ }
4637+ preempt_enable();
4638+ return 0;
4639+}
4640+
4641+static void *c_start(struct seq_file *m, loff_t *pos)
4642+{
4643+ return *pos < NR_CPUS ? (void *)((unsigned long) *pos + 1) : NULL;
4644+}
4645+
4646+static void *c_next(struct seq_file *m, void *v, loff_t *pos)
4647+{
4648+ ++*pos;
4649+ return c_start(m, pos);
4650+}
4651+
4652+static void c_stop(struct seq_file *m, void *v)
4653+{
4654+}
4655+
4656+const struct seq_operations cpuinfo_op = {
4657+ .start = c_start,
4658+ .next = c_next,
4659+ .stop = c_stop,
4660+ .show = show_cpuinfo,
4661+};
4662+
4663--- a/arch/s390/kernel/setup.c
4664+++ b/arch/s390/kernel/setup.c
4665@@ -14,6 +14,8 @@
4666 * This file handles the architecture-dependent parts of initialization
4667 */
4668
4669+#define KMSG_COMPONENT "setup"
4670+
4671 #include <linux/errno.h>
4672 #include <linux/module.h>
4673 #include <linux/sched.h>
4674@@ -32,7 +34,6 @@
4675 #include <linux/bootmem.h>
4676 #include <linux/root_dev.h>
4677 #include <linux/console.h>
4678-#include <linux/seq_file.h>
4679 #include <linux/kernel_stat.h>
4680 #include <linux/device.h>
4681 #include <linux/notifier.h>
4682@@ -291,8 +292,8 @@ unsigned int switch_amode = 0;
4683 #endif
4684 EXPORT_SYMBOL_GPL(switch_amode);
4685
4686-static void set_amode_and_uaccess(unsigned long user_amode,
4687- unsigned long user32_amode)
4688+static int set_amode_and_uaccess(unsigned long user_amode,
4689+ unsigned long user32_amode)
4690 {
4691 psw_user_bits = PSW_BASE_BITS | PSW_MASK_DAT | user_amode |
4692 PSW_MASK_IO | PSW_MASK_EXT | PSW_MASK_MCHECK |
4693@@ -309,11 +310,11 @@ static void set_amode_and_uaccess(unsign
4694 PSW_MASK_MCHECK | PSW_DEFAULT_KEY;
4695
4696 if (MACHINE_HAS_MVCOS) {
4697- printk("mvcos available.\n");
4698 memcpy(&uaccess, &uaccess_mvcos_switch, sizeof(uaccess));
4699+ return 1;
4700 } else {
4701- printk("mvcos not available.\n");
4702 memcpy(&uaccess, &uaccess_pt, sizeof(uaccess));
4703+ return 0;
4704 }
4705 }
4706
4707@@ -328,9 +329,10 @@ static int __init early_parse_switch_amo
4708 early_param("switch_amode", early_parse_switch_amode);
4709
4710 #else /* CONFIG_S390_SWITCH_AMODE */
4711-static inline void set_amode_and_uaccess(unsigned long user_amode,
4712- unsigned long user32_amode)
4713+static inline int set_amode_and_uaccess(unsigned long user_amode,
4714+ unsigned long user32_amode)
4715 {
4716+ return 0;
4717 }
4718 #endif /* CONFIG_S390_SWITCH_AMODE */
4719
4720@@ -355,11 +357,20 @@ early_param("noexec", early_parse_noexec
4721 static void setup_addressing_mode(void)
4722 {
4723 if (s390_noexec) {
4724- printk("S390 execute protection active, ");
4725- set_amode_and_uaccess(PSW_ASC_SECONDARY, PSW32_ASC_SECONDARY);
4726+ if (set_amode_and_uaccess(PSW_ASC_SECONDARY,
4727+ PSW32_ASC_SECONDARY))
4728+ pr_info("Execute protection active, "
4729+ "mvcos available\n");
4730+ else
4731+ pr_info("Execute protection active, "
4732+ "mvcos not available\n");
4733 } else if (switch_amode) {
4734- printk("S390 address spaces switched, ");
4735- set_amode_and_uaccess(PSW_ASC_PRIMARY, PSW32_ASC_PRIMARY);
4736+ if (set_amode_and_uaccess(PSW_ASC_PRIMARY, PSW32_ASC_PRIMARY))
4737+ pr_info("Address spaces switched, "
4738+ "mvcos available\n");
4739+ else
4740+ pr_info("Address spaces switched, "
4741+ "mvcos not available\n");
4742 }
4743 #ifdef CONFIG_TRACE_IRQFLAGS
4744 sysc_restore_trace_psw.mask = psw_kernel_bits & ~PSW_MASK_MCHECK;
4745@@ -572,15 +583,15 @@ setup_memory(void)
4746 start = PFN_PHYS(start_pfn) + bmap_size + PAGE_SIZE;
4747
4748 if (start + INITRD_SIZE > memory_end) {
4749- printk("initrd extends beyond end of memory "
4750- "(0x%08lx > 0x%08lx)\n"
4751+ pr_err("initrd extends beyond end of "
4752+ "memory (0x%08lx > 0x%08lx) "
4753 "disabling initrd\n",
4754 start + INITRD_SIZE, memory_end);
4755 INITRD_START = INITRD_SIZE = 0;
4756 } else {
4757- printk("Moving initrd (0x%08lx -> 0x%08lx, "
4758- "size: %ld)\n",
4759- INITRD_START, start, INITRD_SIZE);
4760+ pr_info("Moving initrd (0x%08lx -> "
4761+ "0x%08lx, size: %ld)\n",
4762+ INITRD_START, start, INITRD_SIZE);
4763 memmove((void *) start, (void *) INITRD_START,
4764 INITRD_SIZE);
4765 INITRD_START = start;
4766@@ -642,8 +653,9 @@ setup_memory(void)
4767 initrd_start = INITRD_START;
4768 initrd_end = initrd_start + INITRD_SIZE;
4769 } else {
4770- printk("initrd extends beyond end of memory "
4771- "(0x%08lx > 0x%08lx)\ndisabling initrd\n",
4772+ pr_err("initrd extends beyond end of "
4773+ "memory (0x%08lx > 0x%08lx) "
4774+ "disabling initrd\n",
4775 initrd_start + INITRD_SIZE, memory_end);
4776 initrd_start = initrd_end = 0;
4777 }
4778@@ -756,21 +768,27 @@ setup_arch(char **cmdline_p)
4779 * print what head.S has found out about the machine
4780 */
4781 #ifndef CONFIG_64BIT
4782- printk((MACHINE_IS_VM) ?
4783- "We are running under VM (31 bit mode)\n" :
4784- "We are running native (31 bit mode)\n");
4785- printk((MACHINE_HAS_IEEE) ?
4786- "This machine has an IEEE fpu\n" :
4787- "This machine has no IEEE fpu\n");
4788+ if (MACHINE_IS_VM)
4789+ pr_info("Linux is running as a z/VM "
4790+ "guest operating system in 31-bit mode\n");
4791+ else
4792+ pr_info("Linux is running natively in 31-bit mode\n");
4793+ if (MACHINE_HAS_IEEE)
4794+ pr_info("The hardware system has IEEE compatible "
4795+ "floating point units\n");
4796+ else
4797+ pr_info("The hardware system has no IEEE compatible "
4798+ "floating point units\n");
4799 #else /* CONFIG_64BIT */
4800 if (MACHINE_IS_VM)
4801- printk("We are running under VM (64 bit mode)\n");
4802+ pr_info("Linux is running as a z/VM "
4803+ "guest operating system in 64-bit mode\n");
4804 else if (MACHINE_IS_KVM) {
4805- printk("We are running under KVM (64 bit mode)\n");
4806+ pr_info("Linux is running under KVM in 64-bit mode\n");
4807 add_preferred_console("hvc", 0, NULL);
4808 s390_virtio_console_init();
4809 } else
4810- printk("We are running native (64 bit mode)\n");
4811+ pr_info("Linux is running natively in 64-bit mode\n");
4812 #endif /* CONFIG_64BIT */
4813
4814 /* Have one command line that is parsed and saved in /proc/cmdline */
4815@@ -818,90 +836,3 @@ setup_arch(char **cmdline_p)
4816 /* Setup zfcpdump support */
4817 setup_zfcpdump(console_devno);
4818 }
4819-
4820-void __cpuinit print_cpu_info(struct cpuinfo_S390 *cpuinfo)
4821-{
4822- printk(KERN_INFO "cpu %d "
4823-#ifdef CONFIG_SMP
4824- "phys_idx=%d "
4825-#endif
4826- "vers=%02X ident=%06X machine=%04X unused=%04X\n",
4827- cpuinfo->cpu_nr,
4828-#ifdef CONFIG_SMP
4829- cpuinfo->cpu_addr,
4830-#endif
4831- cpuinfo->cpu_id.version,
4832- cpuinfo->cpu_id.ident,
4833- cpuinfo->cpu_id.machine,
4834- cpuinfo->cpu_id.unused);
4835-}
4836-
4837-/*
4838- * show_cpuinfo - Get information on one CPU for use by procfs.
4839- */
4840-
4841-static int show_cpuinfo(struct seq_file *m, void *v)
4842-{
4843- static const char *hwcap_str[8] = {
4844- "esan3", "zarch", "stfle", "msa", "ldisp", "eimm", "dfp",
4845- "edat"
4846- };
4847- struct cpuinfo_S390 *cpuinfo;
4848- unsigned long n = (unsigned long) v - 1;
4849- int i;
4850-
4851- s390_adjust_jiffies();
4852- preempt_disable();
4853- if (!n) {
4854- seq_printf(m, "vendor_id : IBM/S390\n"
4855- "# processors : %i\n"
4856- "bogomips per cpu: %lu.%02lu\n",
4857- num_online_cpus(), loops_per_jiffy/(500000/HZ),
4858- (loops_per_jiffy/(5000/HZ))%100);
4859- seq_puts(m, "features\t: ");
4860- for (i = 0; i < 8; i++)
4861- if (hwcap_str[i] && (elf_hwcap & (1UL << i)))
4862- seq_printf(m, "%s ", hwcap_str[i]);
4863- seq_puts(m, "\n");
4864- }
4865-
4866- if (cpu_online(n)) {
4867-#ifdef CONFIG_SMP
4868- if (smp_processor_id() == n)
4869- cpuinfo = &S390_lowcore.cpu_data;
4870- else
4871- cpuinfo = &lowcore_ptr[n]->cpu_data;
4872-#else
4873- cpuinfo = &S390_lowcore.cpu_data;
4874-#endif
4875- seq_printf(m, "processor %li: "
4876- "version = %02X, "
4877- "identification = %06X, "
4878- "machine = %04X\n",
4879- n, cpuinfo->cpu_id.version,
4880- cpuinfo->cpu_id.ident,
4881- cpuinfo->cpu_id.machine);
4882- }
4883- preempt_enable();
4884- return 0;
4885-}
4886-
4887-static void *c_start(struct seq_file *m, loff_t *pos)
4888-{
4889- return *pos < NR_CPUS ? (void *)((unsigned long) *pos + 1) : NULL;
4890-}
4891-static void *c_next(struct seq_file *m, void *v, loff_t *pos)
4892-{
4893- ++*pos;
4894- return c_start(m, pos);
4895-}
4896-static void c_stop(struct seq_file *m, void *v)
4897-{
4898-}
4899-const struct seq_operations cpuinfo_op = {
4900- .start = c_start,
4901- .next = c_next,
4902- .stop = c_stop,
4903- .show = show_cpuinfo,
4904-};
4905-
4906--- a/arch/s390/kernel/smp.c
4907+++ b/arch/s390/kernel/smp.c
4908@@ -20,6 +20,8 @@
4909 * cpu_number_map in other architectures.
4910 */
4911
4912+#define KMSG_COMPONENT "cpu"
4913+
4914 #include <linux/module.h>
4915 #include <linux/init.h>
4916 #include <linux/mm.h>
4917@@ -388,8 +390,8 @@ static void __init smp_get_save_area(uns
4918 if (ipl_info.type != IPL_TYPE_FCP_DUMP)
4919 return;
4920 if (cpu >= NR_CPUS) {
4921- printk(KERN_WARNING "Registers for cpu %i not saved since dump "
4922- "kernel was compiled with NR_CPUS=%i\n", cpu, NR_CPUS);
4923+ pr_warning("CPU %i exceeds the maximum %i and is excluded from "
4924+ "the dump\n", cpu, NR_CPUS - 1);
4925 return;
4926 }
4927 zfcpdump_save_areas[cpu] = kmalloc(sizeof(union save_area), GFP_KERNEL);
4928@@ -562,7 +564,7 @@ static void __init smp_detect_cpus(void)
4929 }
4930 out:
4931 kfree(info);
4932- printk(KERN_INFO "CPUs: %d configured, %d standby\n", c_cpus, s_cpus);
4933+ pr_info("%d configured CPUs, %d standby CPUs\n", c_cpus, s_cpus);
4934 get_online_cpus();
4935 __smp_rescan_cpus();
4936 put_online_cpus();
4937@@ -688,12 +690,8 @@ int __cpuinit __cpu_up(unsigned int cpu)
4938
4939 ccode = signal_processor_p((__u32)(unsigned long)(lowcore_ptr[cpu]),
4940 cpu, sigp_set_prefix);
4941- if (ccode) {
4942- printk("sigp_set_prefix failed for cpu %d "
4943- "with condition code %d\n",
4944- (int) cpu, (int) ccode);
4945+ if (ccode)
4946 return -EIO;
4947- }
4948
4949 idle = current_set[cpu];
4950 cpu_lowcore = lowcore_ptr[cpu];
4951@@ -776,7 +774,7 @@ void __cpu_die(unsigned int cpu)
4952 while (!smp_cpu_not_running(cpu))
4953 cpu_relax();
4954 smp_free_lowcore(cpu);
4955- printk(KERN_INFO "Processor %d spun down\n", cpu);
4956+ pr_info("Processor %d stopped\n", cpu);
4957 }
4958
4959 void cpu_die(void)
4960--- a/arch/s390/kernel/time.c
4961+++ b/arch/s390/kernel/time.c
4962@@ -12,6 +12,8 @@
4963 * Copyright (C) 1991, 1992, 1995 Linus Torvalds
4964 */
4965
4966+#define KMSG_COMPONENT "time"
4967+
4968 #include <linux/errno.h>
4969 #include <linux/module.h>
4970 #include <linux/sched.h>
4971@@ -291,8 +293,8 @@ static unsigned long long adjust_time(un
4972 }
4973 jiffies_timer_cc += delta;
4974 if (adjust.offset != 0) {
4975- printk(KERN_NOTICE "etr: time adjusted by %li micro-seconds\n",
4976- adjust.offset);
4977+ pr_notice("The ETR interface has adjusted the clock "
4978+ "by %li microseconds\n", adjust.offset);
4979 adjust.modes = ADJ_OFFSET_SINGLESHOT;
4980 do_adjtimex(&adjust);
4981 }
4982@@ -443,8 +445,8 @@ static void etr_reset(void)
4983 etr_tolec = get_clock();
4984 set_bit(CLOCK_SYNC_HAS_ETR, &clock_sync_flags);
4985 } else if (etr_port0_online || etr_port1_online) {
4986- printk(KERN_WARNING "Running on non ETR capable "
4987- "machine, only local mode available.\n");
4988+ pr_warning("The real or virtual hardware system does "
4989+ "not provide an ETR interface\n");
4990 etr_port0_online = etr_port1_online = 0;
4991 }
4992 }
4993@@ -1359,7 +1361,8 @@ static void __init stp_reset(void)
4994 if (rc == 1)
4995 set_bit(CLOCK_SYNC_HAS_STP, &clock_sync_flags);
4996 else if (stp_online) {
4997- printk(KERN_WARNING "Running on non STP capable machine.\n");
4998+ pr_warning("The real or virtual hardware system does "
4999+ "not provide an STP interface\n");
5000 free_bootmem((unsigned long) stp_page, PAGE_SIZE);
5001 stp_page = NULL;
5002 stp_online = 0;
5003--- a/arch/s390/kernel/topology.c
5004+++ b/arch/s390/kernel/topology.c
5005@@ -3,6 +3,8 @@
5006 * Author(s): Heiko Carstens <heiko.carstens@de.ibm.com>
5007 */
5008
5009+#define KMSG_COMPONENT "cpu"
5010+
5011 #include <linux/kernel.h>
5012 #include <linux/mm.h>
5013 #include <linux/init.h>
5014@@ -311,7 +313,7 @@ void __init s390_init_cpu_topology(void)
5015 for (i = 0; i < info->mnest - 2; i++)
5016 nr_cores *= info->mag[NR_MAG - 3 - i];
5017
5018- printk(KERN_INFO "CPU topology:");
5019+ pr_info("The CPU configuration topology of the machine is:");
5020 for (i = 0; i < NR_MAG; i++)
5021 printk(" %d", info->mag[i]);
5022 printk(" / %d\n", info->mnest);
5023--- a/arch/s390/mm/extmem.c
5024+++ b/arch/s390/mm/extmem.c
5025@@ -7,6 +7,8 @@
5026 * (C) IBM Corporation 2002-2004
5027 */
5028
5029+#define KMSG_COMPONENT "extmem"
5030+
5031 #include <linux/kernel.h>
5032 #include <linux/string.h>
5033 #include <linux/spinlock.h>
5034@@ -24,19 +26,6 @@
5035 #include <asm/cpcmd.h>
5036 #include <asm/setup.h>
5037
5038-#define DCSS_DEBUG /* Debug messages on/off */
5039-
5040-#define DCSS_NAME "extmem"
5041-#ifdef DCSS_DEBUG
5042-#define PRINT_DEBUG(x...) printk(KERN_DEBUG DCSS_NAME " debug:" x)
5043-#else
5044-#define PRINT_DEBUG(x...) do {} while (0)
5045-#endif
5046-#define PRINT_INFO(x...) printk(KERN_INFO DCSS_NAME " info:" x)
5047-#define PRINT_WARN(x...) printk(KERN_WARNING DCSS_NAME " warning:" x)
5048-#define PRINT_ERR(x...) printk(KERN_ERR DCSS_NAME " error:" x)
5049-
5050-
5051 #define DCSS_LOADSHR 0x00
5052 #define DCSS_LOADNSR 0x04
5053 #define DCSS_PURGESEG 0x08
5054@@ -286,7 +275,7 @@ query_segment_type (struct dcss_segment
5055 goto out_free;
5056 }
5057 if (diag_cc > 1) {
5058- PRINT_WARN ("segment_type: diag returned error %ld\n", vmrc);
5059+ pr_warning("Querying a DCSS type failed with rc=%ld\n", vmrc);
5060 rc = dcss_diag_translate_rc (vmrc);
5061 goto out_free;
5062 }
5063@@ -368,7 +357,6 @@ query_segment_type (struct dcss_segment
5064 * -EIO : could not perform query diagnose
5065 * -ENOENT : no such segment
5066 * -ENOTSUPP: multi-part segment cannot be used with linux
5067- * -ENOSPC : segment cannot be used (overlaps with storage)
5068 * -ENOMEM : out of memory
5069 * 0 .. 6 : type of segment as defined in include/asm-s390/extmem.h
5070 */
5071@@ -480,9 +468,8 @@ __segment_load (char *name, int do_nonsh
5072 goto out_resource;
5073 }
5074 if (diag_cc > 1) {
5075- PRINT_WARN ("segment_load: could not load segment %s - "
5076- "diag returned error (%ld)\n",
5077- name, end_addr);
5078+ pr_warning("Loading DCSS %s failed with rc=%ld\n", name,
5079+ end_addr);
5080 rc = dcss_diag_translate_rc(end_addr);
5081 dcss_diag(&purgeseg_scode, seg->dcss_name,
5082 &dummy, &dummy);
5083@@ -496,15 +483,13 @@ __segment_load (char *name, int do_nonsh
5084 *addr = seg->start_addr;
5085 *end = seg->end;
5086 if (do_nonshared)
5087- PRINT_INFO ("segment_load: loaded segment %s range %p .. %p "
5088- "type %s in non-shared mode\n", name,
5089- (void*)seg->start_addr, (void*)seg->end,
5090- segtype_string[seg->vm_segtype]);
5091+ pr_info("DCSS %s of range %p to %p and type %s loaded as "
5092+ "exclusive-writable\n", name, (void*) seg->start_addr,
5093+ (void*) seg->end, segtype_string[seg->vm_segtype]);
5094 else {
5095- PRINT_INFO ("segment_load: loaded segment %s range %p .. %p "
5096- "type %s in shared mode\n", name,
5097- (void*)seg->start_addr, (void*)seg->end,
5098- segtype_string[seg->vm_segtype]);
5099+ pr_info("DCSS %s of range %p to %p and type %s loaded in "
5100+ "shared access mode\n", name, (void*) seg->start_addr,
5101+ (void*) seg->end, segtype_string[seg->vm_segtype]);
5102 }
5103 goto out;
5104 out_resource:
5105@@ -593,14 +578,14 @@ segment_modify_shared (char *name, int d
5106 goto out_unlock;
5107 }
5108 if (do_nonshared == seg->do_nonshared) {
5109- PRINT_INFO ("segment_modify_shared: not reloading segment %s"
5110- " - already in requested mode\n",name);
5111+ pr_info("DCSS %s is already in the requested access "
5112+ "mode\n", name);
5113 rc = 0;
5114 goto out_unlock;
5115 }
5116 if (atomic_read (&seg->ref_count) != 1) {
5117- PRINT_WARN ("segment_modify_shared: not reloading segment %s - "
5118- "segment is in use by other driver(s)\n",name);
5119+ pr_warning("DCSS %s is in use and cannot be reloaded\n",
5120+ name);
5121 rc = -EAGAIN;
5122 goto out_unlock;
5123 }
5124@@ -613,8 +598,8 @@ segment_modify_shared (char *name, int d
5125 seg->res->flags |= IORESOURCE_READONLY;
5126
5127 if (request_resource(&iomem_resource, seg->res)) {
5128- PRINT_WARN("segment_modify_shared: could not reload segment %s"
5129- " - overlapping resources\n", name);
5130+ pr_warning("DCSS %s overlaps with used memory resources "
5131+ "and cannot be reloaded\n", name);
5132 rc = -EBUSY;
5133 kfree(seg->res);
5134 goto out_del_mem;
5135@@ -632,9 +617,8 @@ segment_modify_shared (char *name, int d
5136 goto out_del_res;
5137 }
5138 if (diag_cc > 1) {
5139- PRINT_WARN ("segment_modify_shared: could not reload segment %s"
5140- " - diag returned error (%ld)\n",
5141- name, end_addr);
5142+ pr_warning("Reloading DCSS %s failed with rc=%ld\n", name,
5143+ end_addr);
5144 rc = dcss_diag_translate_rc(end_addr);
5145 goto out_del_res;
5146 }
5147@@ -673,8 +657,7 @@ segment_unload(char *name)
5148 mutex_lock(&dcss_lock);
5149 seg = segment_by_name (name);
5150 if (seg == NULL) {
5151- PRINT_ERR ("could not find segment %s in segment_unload, "
5152- "please report to linux390@de.ibm.com\n",name);
5153+ pr_err("Unloading unknown DCSS %s failed\n", name);
5154 goto out_unlock;
5155 }
5156 if (atomic_dec_return(&seg->ref_count) != 0)
5157@@ -709,8 +692,7 @@ segment_save(char *name)
5158 seg = segment_by_name (name);
5159
5160 if (seg == NULL) {
5161- PRINT_ERR("could not find segment %s in segment_save, please "
5162- "report to linux390@de.ibm.com\n", name);
5163+ pr_err("Saving unknown DCSS %s failed\n", name);
5164 goto out;
5165 }
5166
5167@@ -727,14 +709,14 @@ segment_save(char *name)
5168 response = 0;
5169 cpcmd(cmd1, NULL, 0, &response);
5170 if (response) {
5171- PRINT_ERR("segment_save: DEFSEG failed with response code %i\n",
5172- response);
5173+ pr_err("Saving a DCSS failed with DEFSEG response code "
5174+ "%i\n", response);
5175 goto out;
5176 }
5177 cpcmd(cmd2, NULL, 0, &response);
5178 if (response) {
5179- PRINT_ERR("segment_save: SAVESEG failed with response code %i\n",
5180- response);
5181+ pr_err("Saving a DCSS failed with SAVESEG response code "
5182+ "%i\n", response);
5183 goto out;
5184 }
5185 out:
5186@@ -749,44 +731,41 @@ void segment_warning(int rc, char *seg_n
5187 {
5188 switch (rc) {
5189 case -ENOENT:
5190- PRINT_WARN("cannot load/query segment %s, "
5191- "does not exist\n", seg_name);
5192+ pr_err("DCSS %s cannot be loaded or queried\n", seg_name);
5193 break;
5194 case -ENOSYS:
5195- PRINT_WARN("cannot load/query segment %s, "
5196- "not running on VM\n", seg_name);
5197+ pr_err("DCSS %s cannot be loaded or queried without "
5198+ "z/VM\n", seg_name);
5199 break;
5200 case -EIO:
5201- PRINT_WARN("cannot load/query segment %s, "
5202- "hardware error\n", seg_name);
5203+ pr_err("Loading or querying DCSS %s resulted in a "
5204+ "hardware error\n", seg_name);
5205 break;
5206 case -ENOTSUPP:
5207- PRINT_WARN("cannot load/query segment %s, "
5208- "is a multi-part segment\n", seg_name);
5209+ pr_err("DCSS %s has multiple page ranges and cannot be "
5210+ "loaded or queried\n", seg_name);
5211 break;
5212 case -ENOSPC:
5213- PRINT_WARN("cannot load/query segment %s, "
5214- "overlaps with storage\n", seg_name);
5215+ pr_err("DCSS %s overlaps with used storage and cannot "
5216+ "be loaded\n", seg_name);
5217 break;
5218 case -EBUSY:
5219- PRINT_WARN("cannot load/query segment %s, "
5220- "overlaps with already loaded dcss\n", seg_name);
5221+ pr_err("%s needs used memory resources and cannot be "
5222+ "loaded or queried\n", seg_name);
5223 break;
5224 case -EPERM:
5225- PRINT_WARN("cannot load/query segment %s, "
5226- "already loaded in incompatible mode\n", seg_name);
5227+ pr_err("DCSS %s is already loaded in a different access "
5228+ "mode\n", seg_name);
5229 break;
5230 case -ENOMEM:
5231- PRINT_WARN("cannot load/query segment %s, "
5232- "out of memory\n", seg_name);
5233+ pr_err("There is not enough memory to load or query "
5234+ "DCSS %s\n", seg_name);
5235 break;
5236 case -ERANGE:
5237- PRINT_WARN("cannot load/query segment %s, "
5238- "exceeds kernel mapping range\n", seg_name);
5239+ pr_err("DCSS %s exceeds the kernel mapping range (%lu) "
5240+ "and cannot be loaded\n", seg_name, VMEM_MAX_PHYS);
5241 break;
5242 default:
5243- PRINT_WARN("cannot load/query segment %s, "
5244- "return value %i\n", seg_name, rc);
5245 break;
5246 }
5247 }
5248--- a/drivers/s390/block/dcssblk.c
5249+++ b/drivers/s390/block/dcssblk.c
5250@@ -4,6 +4,8 @@
5251 * Authors: Carsten Otte, Stefan Weinhuber, Gerald Schaefer
5252 */
5253
5254+#define KMSG_COMPONENT "dcssblk"
5255+
5256 #include <linux/module.h>
5257 #include <linux/moduleparam.h>
5258 #include <linux/ctype.h>
5259@@ -17,20 +19,10 @@
5260 #include <linux/interrupt.h>
5261 #include <asm/s390_rdev.h>
5262
5263-//#define DCSSBLK_DEBUG /* Debug messages on/off */
5264 #define DCSSBLK_NAME "dcssblk"
5265 #define DCSSBLK_MINORS_PER_DISK 1
5266 #define DCSSBLK_PARM_LEN 400
5267
5268-#ifdef DCSSBLK_DEBUG
5269-#define PRINT_DEBUG(x...) printk(KERN_DEBUG DCSSBLK_NAME " debug: " x)
5270-#else
5271-#define PRINT_DEBUG(x...) do {} while (0)
5272-#endif
5273-#define PRINT_INFO(x...) printk(KERN_INFO DCSSBLK_NAME " info: " x)
5274-#define PRINT_WARN(x...) printk(KERN_WARNING DCSSBLK_NAME " warning: " x)
5275-#define PRINT_ERR(x...) printk(KERN_ERR DCSSBLK_NAME " error: " x)
5276-
5277 static int dcssblk_open(struct inode *inode, struct file *filp);
5278 static int dcssblk_release(struct inode *inode, struct file *filp);
5279 static int dcssblk_make_request(struct request_queue *q, struct bio *bio);
5280@@ -261,10 +253,9 @@ dcssblk_is_continuous(struct dcssblk_dev
5281 /* check continuity */
5282 for (i = 0; i < dev_info->num_of_segments - 1; i++) {
5283 if ((sort_list[i].end + 1) != sort_list[i+1].start) {
5284- PRINT_ERR("Segment %s is not contiguous with "
5285- "segment %s\n",
5286- sort_list[i].segment_name,
5287- sort_list[i+1].segment_name);
5288+ pr_err("Adjacent DCSSs %s and %s are not "
5289+ "contiguous\n", sort_list[i].segment_name,
5290+ sort_list[i+1].segment_name);
5291 rc = -EINVAL;
5292 goto out;
5293 }
5294@@ -275,10 +266,10 @@ dcssblk_is_continuous(struct dcssblk_dev
5295 !(sort_list[i+1].segment_type &
5296 SEGMENT_EXCLUSIVE) ||
5297 (sort_list[i+1].segment_type == SEG_TYPE_ER)) {
5298- PRINT_ERR("Segment %s has different type from "
5299- "segment %s\n",
5300- sort_list[i].segment_name,
5301- sort_list[i+1].segment_name);
5302+ pr_err("DCSS %s and DCSS %s have "
5303+ "incompatible types\n",
5304+ sort_list[i].segment_name,
5305+ sort_list[i+1].segment_name);
5306 rc = -EINVAL;
5307 goto out;
5308 }
5309@@ -380,8 +371,9 @@ dcssblk_shared_store(struct device *dev,
5310 } else if (inbuf[0] == '0') {
5311 /* reload segments in exclusive mode */
5312 if (dev_info->segment_type == SEG_TYPE_SC) {
5313- PRINT_ERR("Segment type SC (%s) cannot be loaded in "
5314- "non-shared mode\n", dev_info->segment_name);
5315+ pr_err("DCSS %s is of type SC and cannot be "
5316+ "loaded as exclusive-writable\n",
5317+ dev_info->segment_name);
5318 rc = -EINVAL;
5319 goto out;
5320 }
5321@@ -404,9 +396,8 @@ dcssblk_shared_store(struct device *dev,
5322 goto out;
5323
5324 removeseg:
5325- PRINT_ERR("Could not reload segment(s) of the device %s, removing "
5326- "segment(s) now!\n",
5327- dev_info->segment_name);
5328+ pr_err("DCSS device %s is removed after a failed access mode "
5329+ "change\n", dev_info->segment_name);
5330 temp = entry;
5331 list_for_each_entry(entry, &dev_info->seg_list, lh) {
5332 if (entry != temp)
5333@@ -454,17 +445,17 @@ dcssblk_save_store(struct device *dev, s
5334 if (inbuf[0] == '1') {
5335 if (atomic_read(&dev_info->use_count) == 0) {
5336 // device is idle => we save immediately
5337- PRINT_INFO("Saving segment(s) of the device %s\n",
5338- dev_info->segment_name);
5339+ pr_info("All DCSSs that map to device %s are "
5340+ "saved\n", dev_info->segment_name);
5341 list_for_each_entry(entry, &dev_info->seg_list, lh) {
5342 segment_save(entry->segment_name);
5343 }
5344 } else {
5345 // device is busy => we save it when it becomes
5346 // idle in dcssblk_release
5347- PRINT_INFO("Device %s is currently busy, segment(s) "
5348- "will be saved when it becomes idle...\n",
5349- dev_info->segment_name);
5350+ pr_info("Device %s is in use, its DCSSs will be "
5351+ "saved when it becomes idle\n",
5352+ dev_info->segment_name);
5353 dev_info->save_pending = 1;
5354 }
5355 } else if (inbuf[0] == '0') {
5356@@ -472,9 +463,9 @@ dcssblk_save_store(struct device *dev, s
5357 // device is busy & the user wants to undo his save
5358 // request
5359 dev_info->save_pending = 0;
5360- PRINT_INFO("Pending save for segment(s) of the device "
5361- "%s deactivated\n",
5362- dev_info->segment_name);
5363+ pr_info("A pending save request for device %s "
5364+ "has been canceled\n",
5365+ dev_info->segment_name);
5366 }
5367 } else {
5368 up_write(&dcssblk_devices_sem);
5369@@ -614,9 +605,8 @@ dcssblk_add_store(struct device *dev, st
5370
5371 seg_byte_size = (dev_info->end - dev_info->start + 1);
5372 set_capacity(dev_info->gd, seg_byte_size >> 9); // size in sectors
5373- PRINT_INFO("Loaded segment(s) %s, size = %lu Byte, "
5374- "capacity = %lu (512 Byte) sectors\n", local_buf,
5375- seg_byte_size, seg_byte_size >> 9);
5376+ pr_info("Loaded %s with total size %lu bytes and capacity %lu "
5377+ "sectors\n", local_buf, seg_byte_size, seg_byte_size >> 9);
5378
5379 dev_info->save_pending = 0;
5380 dev_info->is_shared = 1;
5381@@ -744,13 +734,15 @@ dcssblk_remove_store(struct device *dev,
5382 dev_info = dcssblk_get_device_by_name(local_buf);
5383 if (dev_info == NULL) {
5384 up_write(&dcssblk_devices_sem);
5385- PRINT_WARN("Device %s is not loaded!\n", local_buf);
5386+ pr_warning("Device %s cannot be removed because it is not a "
5387+ "known device\n", local_buf);
5388 rc = -ENODEV;
5389 goto out_buf;
5390 }
5391 if (atomic_read(&dev_info->use_count) != 0) {
5392 up_write(&dcssblk_devices_sem);
5393- PRINT_WARN("Device %s is in use!\n", local_buf);
5394+ pr_warning("Device %s cannot be removed while it is in "
5395+ "use\n", local_buf);
5396 rc = -EBUSY;
5397 goto out_buf;
5398 }
5399@@ -808,8 +800,8 @@ dcssblk_release(struct inode *inode, str
5400 down_write(&dcssblk_devices_sem);
5401 if (atomic_dec_and_test(&dev_info->use_count)
5402 && (dev_info->save_pending)) {
5403- PRINT_INFO("Device %s became idle and is being saved now\n",
5404- dev_info->segment_name);
5405+ pr_info("Device %s has become idle and is being saved "
5406+ "now\n", dev_info->segment_name);
5407 list_for_each_entry(entry, &dev_info->seg_list, lh) {
5408 segment_save(entry->segment_name);
5409 }
5410@@ -852,8 +844,9 @@ dcssblk_make_request(struct request_queu
5411 case SEG_TYPE_SC:
5412 /* cannot write to these segments */
5413 if (bio_data_dir(bio) == WRITE) {
5414- PRINT_WARN("rejecting write to ro device %s\n",
5415- dev_info->dev.bus_id);
5416+ pr_warning("Writing to %s failed because it "
5417+ "is a read-only device\n",
5418+ dev_name(&dev_info->dev));
5419 goto fail;
5420 }
5421 }
5422--- a/drivers/s390/block/xpram.c
5423+++ b/drivers/s390/block/xpram.c
5424@@ -25,6 +25,8 @@
5425 * generic hard disk support to replace ad-hoc partitioning
5426 */
5427
5428+#define KMSG_COMPONENT "xpram"
5429+
5430 #include <linux/module.h>
5431 #include <linux/moduleparam.h>
5432 #include <linux/ctype.h> /* isdigit, isxdigit */
5433@@ -42,12 +44,6 @@
5434 #define XPRAM_DEVS 1 /* one partition */
5435 #define XPRAM_MAX_DEVS 32 /* maximal number of devices (partitions) */
5436
5437-#define PRINT_DEBUG(x...) printk(KERN_DEBUG XPRAM_NAME " debug:" x)
5438-#define PRINT_INFO(x...) printk(KERN_INFO XPRAM_NAME " info:" x)
5439-#define PRINT_WARN(x...) printk(KERN_WARNING XPRAM_NAME " warning:" x)
5440-#define PRINT_ERR(x...) printk(KERN_ERR XPRAM_NAME " error:" x)
5441-
5442-
5443 typedef struct {
5444 unsigned int size; /* size of xpram segment in pages */
5445 unsigned int offset; /* start page of xpram segment */
5446@@ -263,7 +259,7 @@ static int __init xpram_setup_sizes(unsi
5447
5448 /* Check number of devices. */
5449 if (devs <= 0 || devs > XPRAM_MAX_DEVS) {
5450- PRINT_ERR("invalid number %d of devices\n",devs);
5451+ pr_err("%d is not a valid number of XPRAM devices\n",devs);
5452 return -EINVAL;
5453 }
5454 xpram_devs = devs;
5455@@ -294,22 +290,22 @@ static int __init xpram_setup_sizes(unsi
5456 mem_auto_no++;
5457 }
5458
5459- PRINT_INFO(" number of devices (partitions): %d \n", xpram_devs);
5460+ pr_info(" number of devices (partitions): %d \n", xpram_devs);
5461 for (i = 0; i < xpram_devs; i++) {
5462 if (xpram_sizes[i])
5463- PRINT_INFO(" size of partition %d: %u kB\n",
5464- i, xpram_sizes[i]);
5465+ pr_info(" size of partition %d: %u kB\n",
5466+ i, xpram_sizes[i]);
5467 else
5468- PRINT_INFO(" size of partition %d to be set "
5469- "automatically\n",i);
5470+ pr_info(" size of partition %d to be set "
5471+ "automatically\n",i);
5472 }
5473- PRINT_DEBUG(" memory needed (for sized partitions): %lu kB\n",
5474- mem_needed);
5475- PRINT_DEBUG(" partitions to be sized automatically: %d\n",
5476- mem_auto_no);
5477+ pr_info(" memory needed (for sized partitions): %lu kB\n",
5478+ mem_needed);
5479+ pr_info(" partitions to be sized automatically: %d\n",
5480+ mem_auto_no);
5481
5482 if (mem_needed > pages * 4) {
5483- PRINT_ERR("Not enough expanded memory available\n");
5484+ pr_err("Not enough expanded memory available\n");
5485 return -EINVAL;
5486 }
5487
5488@@ -321,8 +317,8 @@ static int __init xpram_setup_sizes(unsi
5489 */
5490 if (mem_auto_no) {
5491 mem_auto = ((pages - mem_needed / 4) / mem_auto_no) * 4;
5492- PRINT_INFO(" automatically determined "
5493- "partition size: %lu kB\n", mem_auto);
5494+ pr_info(" automatically determined "
5495+ "partition size: %lu kB\n", mem_auto);
5496 for (i = 0; i < xpram_devs; i++)
5497 if (xpram_sizes[i] == 0)
5498 xpram_sizes[i] = mem_auto;
5499@@ -412,12 +408,12 @@ static int __init xpram_init(void)
5500
5501 /* Find out size of expanded memory. */
5502 if (xpram_present() != 0) {
5503- PRINT_WARN("No expanded memory available\n");
5504+ pr_err("No expanded memory available\n");
5505 return -ENODEV;
5506 }
5507 xpram_pages = xpram_highest_page_index() + 1;
5508- PRINT_INFO(" %u pages expanded memory found (%lu KB).\n",
5509- xpram_pages, (unsigned long) xpram_pages*4);
5510+ pr_info(" %u pages expanded memory found (%lu KB).\n",
5511+ xpram_pages, (unsigned long) xpram_pages*4);
5512 rc = xpram_setup_sizes(xpram_pages);
5513 if (rc)
5514 return rc;
5515--- a/drivers/s390/char/monreader.c
5516+++ b/drivers/s390/char/monreader.c
5517@@ -7,6 +7,8 @@
5518 * Author: Gerald Schaefer <gerald.schaefer@de.ibm.com>
5519 */
5520
5521+#define KMSG_COMPONENT "monreader"
5522+
5523 #include <linux/module.h>
5524 #include <linux/moduleparam.h>
5525 #include <linux/init.h>
5526@@ -24,19 +26,6 @@
5527 #include <asm/ebcdic.h>
5528 #include <asm/extmem.h>
5529
5530-//#define MON_DEBUG /* Debug messages on/off */
5531-
5532-#define MON_NAME "monreader"
5533-
5534-#define P_INFO(x...) printk(KERN_INFO MON_NAME " info: " x)
5535-#define P_ERROR(x...) printk(KERN_ERR MON_NAME " error: " x)
5536-#define P_WARNING(x...) printk(KERN_WARNING MON_NAME " warning: " x)
5537-
5538-#ifdef MON_DEBUG
5539-#define P_DEBUG(x...) printk(KERN_DEBUG MON_NAME " debug: " x)
5540-#else
5541-#define P_DEBUG(x...) do {} while (0)
5542-#endif
5543
5544 #define MON_COLLECT_SAMPLE 0x80
5545 #define MON_COLLECT_EVENT 0x40
5546@@ -172,7 +161,7 @@ static int mon_send_reply(struct mon_msg
5547 } else
5548 monmsg->replied_msglim = 1;
5549 if (rc) {
5550- P_ERROR("read, IUCV reply failed with rc = %i\n\n", rc);
5551+ pr_err("Reading monitor data failed with rc=%i\n", rc);
5552 return -EIO;
5553 }
5554 return 0;
5555@@ -251,7 +240,8 @@ static void mon_iucv_path_severed(struct
5556 {
5557 struct mon_private *monpriv = path->private;
5558
5559- P_ERROR("IUCV connection severed with rc = 0x%X\n", ipuser[0]);
5560+ pr_err("z/VM *MONITOR system service disconnected with rc=%i\n",
5561+ ipuser[0]);
5562 iucv_path_sever(path, NULL);
5563 atomic_set(&monpriv->iucv_severed, 1);
5564 wake_up(&mon_conn_wait_queue);
5565@@ -266,8 +256,7 @@ static void mon_iucv_message_pending(str
5566 memcpy(&monpriv->msg_array[monpriv->write_index]->msg,
5567 msg, sizeof(*msg));
5568 if (atomic_inc_return(&monpriv->msglim_count) == MON_MSGLIM) {
5569- P_WARNING("IUCV message pending, message limit (%i) reached\n",
5570- MON_MSGLIM);
5571+ pr_warning("The read queue for monitor data is full\n");
5572 monpriv->msg_array[monpriv->write_index]->msglim_reached = 1;
5573 }
5574 monpriv->write_index = (monpriv->write_index + 1) % MON_MSGLIM;
5575@@ -311,8 +300,8 @@ static int mon_open(struct inode *inode,
5576 rc = iucv_path_connect(monpriv->path, &monreader_iucv_handler,
5577 MON_SERVICE, NULL, user_data_connect, monpriv);
5578 if (rc) {
5579- P_ERROR("iucv connection to *MONITOR failed with "
5580- "IPUSER SEVER code = %i\n", rc);
5581+ pr_err("Connecting to the z/VM *MONITOR system service "
5582+ "failed with rc=%i\n", rc);
5583 rc = -EIO;
5584 goto out_path;
5585 }
5586@@ -353,7 +342,8 @@ static int mon_close(struct inode *inode
5587 */
5588 rc = iucv_path_sever(monpriv->path, user_data_sever);
5589 if (rc)
5590- P_ERROR("close, iucv_sever failed with rc = %i\n", rc);
5591+ pr_warning("Disconnecting the z/VM *MONITOR system service "
5592+ "failed with rc=%i\n", rc);
5593
5594 atomic_set(&monpriv->iucv_severed, 0);
5595 atomic_set(&monpriv->iucv_connected, 0);
5596@@ -469,7 +459,8 @@ static int __init mon_init(void)
5597 int rc;
5598
5599 if (!MACHINE_IS_VM) {
5600- P_ERROR("not running under z/VM, driver not loaded\n");
5601+ pr_err("The z/VM *MONITOR record device driver cannot be "
5602+ "loaded without z/VM\n");
5603 return -ENODEV;
5604 }
5605
5606@@ -478,7 +469,8 @@ static int __init mon_init(void)
5607 */
5608 rc = iucv_register(&monreader_iucv_handler, 1);
5609 if (rc) {
5610- P_ERROR("failed to register with iucv driver\n");
5611+ pr_err("The z/VM *MONITOR record device driver failed to "
5612+ "register with IUCV\n");
5613 return rc;
5614 }
5615
5616@@ -488,8 +480,8 @@ static int __init mon_init(void)
5617 goto out_iucv;
5618 }
5619 if (rc != SEG_TYPE_SC) {
5620- P_ERROR("segment %s has unsupported type, should be SC\n",
5621- mon_dcss_name);
5622+ pr_err("The specified *MONITOR DCSS %s does not have the "
5623+ "required type SC\n", mon_dcss_name);
5624 rc = -EINVAL;
5625 goto out_iucv;
5626 }
5627--- a/drivers/s390/char/monwriter.c
5628+++ b/drivers/s390/char/monwriter.c
5629@@ -8,6 +8,8 @@
5630 * Author(s): Melissa Howland <Melissa.Howland@us.ibm.com>
5631 */
5632
5633+#define KMSG_COMPONENT "monwriter"
5634+
5635 #include <linux/module.h>
5636 #include <linux/moduleparam.h>
5637 #include <linux/init.h>
5638@@ -64,9 +66,9 @@ static int monwrite_diag(struct monwrite
5639 rc = appldata_asm(&id, fcn, (void *) buffer, myhdr->datalen);
5640 if (rc <= 0)
5641 return rc;
5642+ pr_err("Writing monitor data failed with rc=%i\n", rc);
5643 if (rc == 5)
5644 return -EPERM;
5645- printk("DIAG X'DC' error with return code: %i\n", rc);
5646 return -EINVAL;
5647 }
5648
5649--- a/drivers/s390/char/sclp_cmd.c
5650+++ b/drivers/s390/char/sclp_cmd.c
5651@@ -6,6 +6,8 @@
5652 * Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
5653 */
5654
5655+#define KMSG_COMPONENT "sclp_cmd"
5656+
5657 #include <linux/completion.h>
5658 #include <linux/init.h>
5659 #include <linux/errno.h>
5660@@ -16,9 +18,8 @@
5661 #include <linux/memory.h>
5662 #include <asm/chpid.h>
5663 #include <asm/sclp.h>
5664-#include "sclp.h"
5665
5666-#define TAG "sclp_cmd: "
5667+#include "sclp.h"
5668
5669 #define SCLP_CMDW_READ_SCP_INFO 0x00020001
5670 #define SCLP_CMDW_READ_SCP_INFO_FORCED 0x00120001
5671@@ -169,8 +170,8 @@ static int do_sync_request(sclp_cmdw_t c
5672
5673 /* Check response. */
5674 if (request->status != SCLP_REQ_DONE) {
5675- printk(KERN_WARNING TAG "sync request failed "
5676- "(cmd=0x%08x, status=0x%02x)\n", cmd, request->status);
5677+ pr_warning("sync request failed (cmd=0x%08x, "
5678+ "status=0x%02x)\n", cmd, request->status);
5679 rc = -EIO;
5680 }
5681 out:
5682@@ -224,8 +225,8 @@ int sclp_get_cpu_info(struct sclp_cpu_in
5683 if (rc)
5684 goto out;
5685 if (sccb->header.response_code != 0x0010) {
5686- printk(KERN_WARNING TAG "readcpuinfo failed "
5687- "(response=0x%04x)\n", sccb->header.response_code);
5688+ pr_warning("readcpuinfo failed (response=0x%04x)\n",
5689+ sccb->header.response_code);
5690 rc = -EIO;
5691 goto out;
5692 }
5693@@ -262,8 +263,9 @@ static int do_cpu_configure(sclp_cmdw_t
5694 case 0x0120:
5695 break;
5696 default:
5697- printk(KERN_WARNING TAG "configure cpu failed (cmd=0x%08x, "
5698- "response=0x%04x)\n", cmd, sccb->header.response_code);
5699+ pr_warning("configure cpu failed (cmd=0x%08x, "
5700+ "response=0x%04x)\n", cmd,
5701+ sccb->header.response_code);
5702 rc = -EIO;
5703 break;
5704 }
5705@@ -623,9 +625,9 @@ static int do_chp_configure(sclp_cmdw_t
5706 case 0x0450:
5707 break;
5708 default:
5709- printk(KERN_WARNING TAG "configure channel-path failed "
5710- "(cmd=0x%08x, response=0x%04x)\n", cmd,
5711- sccb->header.response_code);
5712+ pr_warning("configure channel-path failed "
5713+ "(cmd=0x%08x, response=0x%04x)\n", cmd,
5714+ sccb->header.response_code);
5715 rc = -EIO;
5716 break;
5717 }
5718@@ -692,8 +694,8 @@ int sclp_chp_read_info(struct sclp_chp_i
5719 if (rc)
5720 goto out;
5721 if (sccb->header.response_code != 0x0010) {
5722- printk(KERN_WARNING TAG "read channel-path info failed "
5723- "(response=0x%04x)\n", sccb->header.response_code);
5724+ pr_warning("read channel-path info failed "
5725+ "(response=0x%04x)\n", sccb->header.response_code);
5726 rc = -EIO;
5727 goto out;
5728 }
5729--- a/drivers/s390/char/sclp_config.c
5730+++ b/drivers/s390/char/sclp_config.c
5731@@ -5,15 +5,16 @@
5732 * Author(s): Heiko Carstens <heiko.carstens@de.ibm.com>
5733 */
5734
5735+#define KMSG_COMPONENT "sclp_config"
5736+
5737 #include <linux/init.h>
5738 #include <linux/errno.h>
5739 #include <linux/cpu.h>
5740 #include <linux/sysdev.h>
5741 #include <linux/workqueue.h>
5742 #include <asm/smp.h>
5743-#include "sclp.h"
5744
5745-#define TAG "sclp_config: "
5746+#include "sclp.h"
5747
5748 struct conf_mgm_data {
5749 u8 reserved;
5750@@ -31,7 +32,7 @@ static void sclp_cpu_capability_notify(s
5751 int cpu;
5752 struct sys_device *sysdev;
5753
5754- printk(KERN_WARNING TAG "cpu capability changed.\n");
5755+ pr_warning("cpu capability changed.\n");
5756 get_online_cpus();
5757 for_each_online_cpu(cpu) {
5758 sysdev = get_cpu_sysdev(cpu);
5759@@ -78,7 +79,7 @@ static int __init sclp_conf_init(void)
5760 return rc;
5761
5762 if (!(sclp_conf_register.sclp_send_mask & EVTYP_CONFMGMDATA_MASK)) {
5763- printk(KERN_WARNING TAG "no configuration management.\n");
5764+ pr_warning("no configuration management.\n");
5765 sclp_unregister(&sclp_conf_register);
5766 rc = -ENOSYS;
5767 }
5768--- a/drivers/s390/char/sclp_cpi_sys.c
5769+++ b/drivers/s390/char/sclp_cpi_sys.c
5770@@ -7,6 +7,8 @@
5771 * Michael Ernst <mernst@de.ibm.com>
5772 */
5773
5774+#define KMSG_COMPONENT "sclp_cpi"
5775+
5776 #include <linux/kernel.h>
5777 #include <linux/init.h>
5778 #include <linux/stat.h>
5779@@ -20,6 +22,7 @@
5780 #include <linux/completion.h>
5781 #include <asm/ebcdic.h>
5782 #include <asm/sclp.h>
5783+
5784 #include "sclp.h"
5785 #include "sclp_rw.h"
5786 #include "sclp_cpi_sys.h"
5787@@ -150,16 +153,16 @@ static int cpi_req(void)
5788 wait_for_completion(&completion);
5789
5790 if (req->status != SCLP_REQ_DONE) {
5791- printk(KERN_WARNING "cpi: request failed (status=0x%02x)\n",
5792- req->status);
5793+ pr_warning("request failed (status=0x%02x)\n",
5794+ req->status);
5795 rc = -EIO;
5796 goto out_free_req;
5797 }
5798
5799 response = ((struct cpi_sccb *) req->sccb)->header.response_code;
5800 if (response != 0x0020) {
5801- printk(KERN_WARNING "cpi: failed with "
5802- "response code 0x%x\n", response);
5803+ pr_warning("request failed with response code 0x%x\n",
5804+ response);
5805 rc = -EIO;
5806 }
5807
5808--- a/drivers/s390/char/sclp_sdias.c
5809+++ b/drivers/s390/char/sclp_sdias.c
5810@@ -5,15 +5,17 @@
5811 * Author(s): Michael Holzheu
5812 */
5813
5814+#define KMSG_COMPONENT "sclp_sdias"
5815+
5816 #include <linux/sched.h>
5817 #include <asm/sclp.h>
5818 #include <asm/debug.h>
5819 #include <asm/ipl.h>
5820+
5821 #include "sclp.h"
5822 #include "sclp_rw.h"
5823
5824 #define TRACE(x...) debug_sprintf_event(sdias_dbf, 1, x)
5825-#define ERROR_MSG(x...) printk ( KERN_ALERT "SDIAS: " x )
5826
5827 #define SDIAS_RETRIES 300
5828 #define SDIAS_SLEEP_TICKS 50
5829@@ -131,7 +133,7 @@ int sclp_sdias_blk_count(void)
5830
5831 rc = sdias_sclp_send(&request);
5832 if (rc) {
5833- ERROR_MSG("sclp_send failed for get_nr_blocks\n");
5834+ pr_err("sclp_send failed for get_nr_blocks\n");
5835 goto out;
5836 }
5837 if (sccb.hdr.response_code != 0x0020) {
5838@@ -145,7 +147,8 @@ int sclp_sdias_blk_count(void)
5839 rc = sccb.evbuf.blk_cnt;
5840 break;
5841 default:
5842- ERROR_MSG("SCLP error: %x\n", sccb.evbuf.event_status);
5843+ pr_err("SCLP error: %x\n",
5844+ sccb.evbuf.event_status);
5845 rc = -EIO;
5846 goto out;
5847 }
5848@@ -201,7 +204,7 @@ int sclp_sdias_copy(void *dest, int star
5849
5850 rc = sdias_sclp_send(&request);
5851 if (rc) {
5852- ERROR_MSG("sclp_send failed: %x\n", rc);
5853+ pr_err("sclp_send failed: %x\n", rc);
5854 goto out;
5855 }
5856 if (sccb.hdr.response_code != 0x0020) {
5857@@ -219,9 +222,9 @@ int sclp_sdias_copy(void *dest, int star
5858 case EVSTATE_NO_DATA:
5859 TRACE("no data\n");
5860 default:
5861- ERROR_MSG("Error from SCLP while copying hsa. "
5862- "Event status = %x\n",
5863- sccb.evbuf.event_status);
5864+ pr_err("Error from SCLP while copying hsa. "
5865+ "Event status = %x\n",
5866+ sccb.evbuf.event_status);
5867 rc = -EIO;
5868 }
5869 out:
5870--- a/drivers/s390/char/vmcp.c
5871+++ b/drivers/s390/char/vmcp.c
5872@@ -11,6 +11,8 @@
5873 * The idea of this driver is based on cpint from Neale Ferguson and #CP in CMS
5874 */
5875
5876+#define KMSG_COMPONENT "vmcp"
5877+
5878 #include <linux/fs.h>
5879 #include <linux/init.h>
5880 #include <linux/kernel.h>
5881@@ -26,8 +28,6 @@ MODULE_LICENSE("GPL");
5882 MODULE_AUTHOR("Christian Borntraeger <borntraeger@de.ibm.com>");
5883 MODULE_DESCRIPTION("z/VM CP interface");
5884
5885-#define PRINTK_HEADER "vmcp: "
5886-
5887 static debug_info_t *vmcp_debug;
5888
5889 static int vmcp_open(struct inode *inode, struct file *file)
5890@@ -193,7 +193,8 @@ static int __init vmcp_init(void)
5891 int ret;
5892
5893 if (!MACHINE_IS_VM) {
5894- PRINT_WARN("z/VM CP interface is only available under z/VM\n");
5895+ pr_warning("The z/VM CP interface device driver cannot be "
5896+ "loaded without z/VM\n");
5897 return -ENODEV;
5898 }
5899
5900--- a/drivers/s390/char/vmlogrdr.c
5901+++ b/drivers/s390/char/vmlogrdr.c
5902@@ -10,6 +10,9 @@
5903 * Stefan Weinhuber <wein@de.ibm.com>
5904 *
5905 */
5906+
5907+#define KMSG_COMPONENT "vmlogrdr"
5908+
5909 #include <linux/module.h>
5910 #include <linux/init.h>
5911 #include <linux/errno.h>
5912@@ -28,8 +31,6 @@
5913 #include <linux/smp_lock.h>
5914 #include <linux/string.h>
5915
5916-
5917-
5918 MODULE_AUTHOR
5919 ("(C) 2004 IBM Corporation by Xenia Tkatschow (xenia@us.ibm.com)\n"
5920 " Stefan Weinhuber (wein@de.ibm.com)");
5921@@ -174,8 +175,7 @@ static void vmlogrdr_iucv_path_severed(s
5922 struct vmlogrdr_priv_t * logptr = path->private;
5923 u8 reason = (u8) ipuser[8];
5924
5925- printk (KERN_ERR "vmlogrdr: connection severed with"
5926- " reason %i\n", reason);
5927+ pr_err("vmlogrdr: connection severed with reason %i\n", reason);
5928
5929 iucv_path_sever(path, NULL);
5930 kfree(path);
5931@@ -333,8 +333,8 @@ static int vmlogrdr_open (struct inode *
5932 if (logptr->autorecording) {
5933 ret = vmlogrdr_recording(logptr,1,logptr->autopurge);
5934 if (ret)
5935- printk (KERN_WARNING "vmlogrdr: failed to start "
5936- "recording automatically\n");
5937+ pr_warning("vmlogrdr: failed to start "
5938+ "recording automatically\n");
5939 }
5940
5941 /* create connection to the system service */
5942@@ -345,9 +345,9 @@ static int vmlogrdr_open (struct inode *
5943 logptr->system_service, NULL, NULL,
5944 logptr);
5945 if (connect_rc) {
5946- printk (KERN_ERR "vmlogrdr: iucv connection to %s "
5947- "failed with rc %i \n", logptr->system_service,
5948- connect_rc);
5949+ pr_err("vmlogrdr: iucv connection to %s "
5950+ "failed with rc %i \n",
5951+ logptr->system_service, connect_rc);
5952 goto out_path;
5953 }
5954
5955@@ -388,8 +388,8 @@ static int vmlogrdr_release (struct inod
5956 if (logptr->autorecording) {
5957 ret = vmlogrdr_recording(logptr,0,logptr->autopurge);
5958 if (ret)
5959- printk (KERN_WARNING "vmlogrdr: failed to stop "
5960- "recording automatically\n");
5961+ pr_warning("vmlogrdr: failed to stop "
5962+ "recording automatically\n");
5963 }
5964 logptr->dev_in_use = 0;
5965
5966@@ -824,8 +824,7 @@ static int __init vmlogrdr_init(void)
5967 dev_t dev;
5968
5969 if (! MACHINE_IS_VM) {
5970- printk (KERN_ERR "vmlogrdr: not running under VM, "
5971- "driver not loaded.\n");
5972+ pr_err("not running under VM, driver not loaded.\n");
5973 return -ENODEV;
5974 }
5975
5976--- a/drivers/s390/char/vmur.c
5977+++ b/drivers/s390/char/vmur.c
5978@@ -8,6 +8,8 @@
5979 * Frank Munzert <munzert@de.ibm.com>
5980 */
5981
5982+#define KMSG_COMPONENT "vmur"
5983+
5984 #include <linux/cdev.h>
5985 #include <linux/smp_lock.h>
5986
5987@@ -40,8 +42,6 @@ MODULE_AUTHOR("IBM Corporation");
5988 MODULE_DESCRIPTION("s390 z/VM virtual unit record device driver");
5989 MODULE_LICENSE("GPL");
5990
5991-#define PRINTK_HEADER "vmur: "
5992-
5993 static dev_t ur_first_dev_maj_min;
5994 static struct class *vmur_class;
5995 static struct debug_info *vmur_dbf;
5996@@ -988,7 +988,8 @@ static int __init ur_init(void)
5997 dev_t dev;
5998
5999 if (!MACHINE_IS_VM) {
6000- PRINT_ERR("%s is only available under z/VM.\n", ur_banner);
6001+ pr_err("The %s cannot be loaded without z/VM\n",
6002+ ur_banner);
6003 return -ENODEV;
6004 }
6005
6006@@ -1007,7 +1008,8 @@ static int __init ur_init(void)
6007
6008 rc = alloc_chrdev_region(&dev, 0, NUM_MINORS, "vmur");
6009 if (rc) {
6010- PRINT_ERR("alloc_chrdev_region failed: err = %d\n", rc);
6011+ pr_err("Kernel function alloc_chrdev_region failed with "
6012+ "error code %d\n", rc);
6013 goto fail_unregister_driver;
6014 }
6015 ur_first_dev_maj_min = MKDEV(MAJOR(dev), 0);
6016@@ -1017,7 +1019,7 @@ static int __init ur_init(void)
6017 rc = PTR_ERR(vmur_class);
6018 goto fail_unregister_region;
6019 }
6020- PRINT_INFO("%s loaded.\n", ur_banner);
6021+ pr_info("%s loaded.\n", ur_banner);
6022 return 0;
6023
6024 fail_unregister_region:
6025@@ -1035,7 +1037,7 @@ static void __exit ur_exit(void)
6026 unregister_chrdev_region(ur_first_dev_maj_min, NUM_MINORS);
6027 ccw_driver_unregister(&ur_driver);
6028 debug_unregister(vmur_dbf);
6029- PRINT_INFO("%s unloaded.\n", ur_banner);
6030+ pr_info("%s unloaded.\n", ur_banner);
6031 }
6032
6033 module_init(ur_init);
6034--- a/drivers/s390/char/zcore.c
6035+++ b/drivers/s390/char/zcore.c
6036@@ -9,6 +9,8 @@
6037 * Author(s): Michael Holzheu
6038 */
6039
6040+#define KMSG_COMPONENT "zdump"
6041+
6042 #include <linux/init.h>
6043 #include <linux/miscdevice.h>
6044 #include <linux/utsname.h>
6045@@ -24,8 +26,6 @@
6046 #include "sclp.h"
6047
6048 #define TRACE(x...) debug_sprintf_event(zcore_dbf, 1, x)
6049-#define MSG(x...) printk( KERN_ALERT x )
6050-#define ERROR_MSG(x...) printk ( KERN_ALERT "DUMP: " x )
6051
6052 #define TO_USER 0
6053 #define TO_KERNEL 1
6054@@ -563,19 +563,19 @@ static int __init sys_info_init(enum arc
6055
6056 switch (arch) {
6057 case ARCH_S390X:
6058- MSG("DETECTED 'S390X (64 bit) OS'\n");
6059+ pr_alert("DETECTED 'S390X (64 bit) OS'\n");
6060 sys_info.sa_base = SAVE_AREA_BASE_S390X;
6061 sys_info.sa_size = sizeof(struct save_area_s390x);
6062 set_s390x_lc_mask(&sys_info.lc_mask);
6063 break;
6064 case ARCH_S390:
6065- MSG("DETECTED 'S390 (32 bit) OS'\n");
6066+ pr_alert("DETECTED 'S390 (32 bit) OS'\n");
6067 sys_info.sa_base = SAVE_AREA_BASE_S390;
6068 sys_info.sa_size = sizeof(struct save_area_s390);
6069 set_s390_lc_mask(&sys_info.lc_mask);
6070 break;
6071 default:
6072- ERROR_MSG("unknown architecture 0x%x.\n",arch);
6073+ pr_alert("0x%x is an unknown architecture.\n",arch);
6074 return -EINVAL;
6075 }
6076 sys_info.arch = arch;
6077@@ -674,7 +674,8 @@ static int __init zcore_init(void)
6078
6079 #ifndef __s390x__
6080 if (arch == ARCH_S390X) {
6081- ERROR_MSG("32 bit dumper can't dump 64 bit system!\n");
6082+ pr_alert("The 32-bit dump tool cannot be used for a "
6083+ "64-bit system\n");
6084 rc = -EINVAL;
6085 goto fail;
6086 }
6087--- a/drivers/s390/cio/blacklist.c
6088+++ b/drivers/s390/cio/blacklist.c
6089@@ -9,6 +9,8 @@
6090 * Arnd Bergmann (arndb@de.ibm.com)
6091 */
6092
6093+#define KMSG_COMPONENT "cio"
6094+
6095 #include <linux/init.h>
6096 #include <linux/vmalloc.h>
6097 #include <linux/slab.h>
6098@@ -49,9 +51,10 @@ static int blacklist_range(range_action
6099 {
6100 if ((from_ssid > to_ssid) || ((from_ssid == to_ssid) && (from > to))) {
6101 if (msgtrigger)
6102- printk(KERN_WARNING "cio: Invalid cio_ignore range "
6103- "0.%x.%04x-0.%x.%04x\n", from_ssid, from,
6104- to_ssid, to);
6105+ pr_warning("0.%x.%04x to 0.%x.%04x is not a valid "
6106+ "range for cio_ignore\n", from_ssid, from,
6107+ to_ssid, to);
6108+
6109 return 1;
6110 }
6111
6112@@ -139,8 +142,8 @@ static int parse_busid(char *str, unsign
6113 rc = 0;
6114 out:
6115 if (rc && msgtrigger)
6116- printk(KERN_WARNING "cio: Invalid cio_ignore device '%s'\n",
6117- str);
6118+ pr_warning("%s is not a valid device for the cio_ignore "
6119+ "kernel parameter\n", str);
6120
6121 return rc;
6122 }
6123--- a/drivers/s390/cio/chsc.c
6124+++ b/drivers/s390/cio/chsc.c
6125@@ -8,6 +8,8 @@
6126 * Arnd Bergmann (arndb@de.ibm.com)
6127 */
6128
6129+#define KMSG_COMPONENT "cio"
6130+
6131 #include <linux/module.h>
6132 #include <linux/slab.h>
6133 #include <linux/init.h>
6134@@ -333,6 +335,7 @@ static void chsc_process_sei_chp_config(
6135 struct chp_config_data *data;
6136 struct chp_id chpid;
6137 int num;
6138+ char *events[3] = {"configure", "deconfigure", "cancel deconfigure"};
6139
6140 CIO_CRW_EVENT(4, "chsc: channel-path-configuration notification\n");
6141 if (sei_area->rs != 0)
6142@@ -343,8 +346,8 @@ static void chsc_process_sei_chp_config(
6143 if (!chp_test_bit(data->map, num))
6144 continue;
6145 chpid.id = num;
6146- printk(KERN_WARNING "cio: processing configure event %d for "
6147- "chpid %x.%02x\n", data->op, chpid.cssid, chpid.id);
6148+ pr_notice("Processing %s for channel path %x.%02x\n",
6149+ events[data->op], chpid.cssid, chpid.id);
6150 switch (data->op) {
6151 case 0:
6152 chp_cfg_schedule(chpid, 1);
6153--- a/drivers/s390/cio/cio.c
6154+++ b/drivers/s390/cio/cio.c
6155@@ -9,6 +9,8 @@
6156 * Martin Schwidefsky (schwidefsky@de.ibm.com)
6157 */
6158
6159+#define KMSG_COMPONENT "cio"
6160+
6161 #include <linux/module.h>
6162 #include <linux/init.h>
6163 #include <linux/slab.h>
6164@@ -773,7 +775,7 @@ cio_probe_console(void)
6165 sch_no = cio_get_console_sch_no();
6166 if (sch_no == -1) {
6167 console_subchannel_in_use = 0;
6168- printk(KERN_WARNING "cio: No ccw console found!\n");
6169+ pr_warning("No CCW console was found\n");
6170 return ERR_PTR(-ENODEV);
6171 }
6172 memset(&console_subchannel, 0, sizeof(struct subchannel));
6173--- a/drivers/s390/cio/cmf.c
6174+++ b/drivers/s390/cio/cmf.c
6175@@ -25,6 +25,8 @@
6176 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
6177 */
6178
6179+#define KMSG_COMPONENT "cio"
6180+
6181 #include <linux/bootmem.h>
6182 #include <linux/device.h>
6183 #include <linux/init.h>
6184@@ -1359,9 +1361,8 @@ static int __init init_cmf(void)
6185 default:
6186 return 1;
6187 }
6188-
6189- printk(KERN_INFO "cio: Channel measurement facility using %s "
6190- "format (%s)\n", format_string, detect_string);
6191+ pr_info("Channel measurement facility initialized using format "
6192+ "%s (mode %s)\n", format_string, detect_string);
6193 return 0;
6194 }
6195
6196--- a/drivers/s390/cio/css.c
6197+++ b/drivers/s390/cio/css.c
6198@@ -6,6 +6,9 @@
6199 * Author(s): Arnd Bergmann (arndb@de.ibm.com)
6200 * Cornelia Huck (cornelia.huck@de.ibm.com)
6201 */
6202+
6203+#define KMSG_COMPONENT "cio"
6204+
6205 #include <linux/module.h>
6206 #include <linux/init.h>
6207 #include <linux/device.h>
6208@@ -844,8 +847,8 @@ out:
6209 s390_unregister_crw_handler(CRW_RSC_CSS);
6210 chsc_free_sei_area();
6211 kfree(slow_subchannel_set);
6212- printk(KERN_WARNING"cio: failed to initialize css driver (%d)!\n",
6213- ret);
6214+ pr_alert("The CSS device driver initialization failed with "
6215+ "errno=%d\n", ret);
6216 return ret;
6217 }
6218
6219--- a/drivers/s390/crypto/ap_bus.c
6220+++ b/drivers/s390/crypto/ap_bus.c
6221@@ -23,6 +23,8 @@
6222 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
6223 */
6224
6225+#define KMSG_COMPONENT "ap"
6226+
6227 #include <linux/module.h>
6228 #include <linux/init.h>
6229 #include <linux/delay.h>
6230@@ -1337,12 +1339,13 @@ int __init ap_module_init(void)
6231 int rc, i;
6232
6233 if (ap_domain_index < -1 || ap_domain_index >= AP_DOMAINS) {
6234- printk(KERN_WARNING "Invalid param: domain = %d. "
6235- " Not loading.\n", ap_domain_index);
6236+ pr_warning("%d is not a valid cryptographic domain\n",
6237+ ap_domain_index);
6238 return -EINVAL;
6239 }
6240 if (ap_instructions_available() != 0) {
6241- printk(KERN_WARNING "AP instructions not installed.\n");
6242+ pr_warning("The hardware system does not support "
6243+ "AP instructions\n");
6244 return -ENODEV;
6245 }
6246 register_reset_call(&ap_reset_call);
6247--- a/drivers/s390/net/claw.c
6248+++ b/drivers/s390/net/claw.c
6249@@ -60,6 +60,9 @@
6250 * 1.25 Added Packing support
6251 * 1.5
6252 */
6253+
6254+#define KMSG_COMPONENT "claw"
6255+
6256 #include <asm/ccwdev.h>
6257 #include <asm/ccwgroup.h>
6258 #include <asm/debug.h>
6259@@ -94,7 +97,7 @@
6260 CLAW uses the s390dbf file system see claw_trace and claw_setup
6261 */
6262
6263-
6264+static char version[] __initdata = "CLAW driver";
6265 static char debug_buffer[255];
6266 /**
6267 * Debug Facility Stuff
6268@@ -298,8 +301,7 @@ claw_probe(struct ccwgroup_device *cgdev
6269 if (rc) {
6270 probe_error(cgdev);
6271 put_device(&cgdev->dev);
6272- printk(KERN_WARNING "add_files failed %s %s Exit Line %d \n",
6273- cgdev->cdev[0]->dev.bus_id,__func__,__LINE__);
6274+ dev_warn(&cgdev->dev, "add_files failed\n");
6275 CLAW_DBF_TEXT_(2, setup, "probex%d", rc);
6276 return rc;
6277 }
6278@@ -496,7 +498,8 @@ claw_open(struct net_device *dev)
6279 ~(DEV_STAT_CHN_END | DEV_STAT_DEV_END)) != 0x00) ||
6280 (((privptr->channel[READ].flag |
6281 privptr->channel[WRITE].flag) & CLAW_TIMER) != 0x00)) {
6282- printk(KERN_INFO "%s: remote side is not ready\n", dev->name);
6283+ dev_info(&privptr->channel[READ].cdev->dev,
6284+ "%s: remote side is not ready\n", dev->name);
6285 CLAW_DBF_TEXT(2, trace, "notrdy");
6286
6287 for ( i = 0; i < 2; i++) {
6288@@ -582,10 +585,9 @@ claw_irq_handler(struct ccw_device *cdev
6289 CLAW_DBF_TEXT(4, trace, "clawirq");
6290 /* Bypass all 'unsolicited interrupts' */
6291 if (!cdev->dev.driver_data) {
6292- printk(KERN_WARNING "claw: unsolicited interrupt for device:"
6293- "%s received c-%02x d-%02x\n",
6294- cdev->dev.bus_id, irb->scsw.cmd.cstat,
6295- irb->scsw.cmd.dstat);
6296+ dev_warn(&cdev->dev, "unsolicited interrupt for device "
6297+ "received c-%02x d-%02x\n",
6298+ irb->scsw.cmd.cstat, irb->scsw.cmd.dstat);
6299 CLAW_DBF_TEXT(2, trace, "badirq");
6300 return;
6301 }
6302@@ -597,8 +599,8 @@ claw_irq_handler(struct ccw_device *cdev
6303 else if (privptr->channel[WRITE].cdev == cdev)
6304 p_ch = &privptr->channel[WRITE];
6305 else {
6306- printk(KERN_WARNING "claw: Can't determine channel for "
6307- "interrupt, device %s\n", cdev->dev.bus_id);
6308+ dev_warn(&cdev->dev, "Can't determine channel for "
6309+ "interrupt\n");
6310 CLAW_DBF_TEXT(2, trace, "badchan");
6311 return;
6312 }
6313@@ -612,7 +614,8 @@ claw_irq_handler(struct ccw_device *cdev
6314
6315 /* Check for good subchannel return code, otherwise info message */
6316 if (irb->scsw.cmd.cstat && !(irb->scsw.cmd.cstat & SCHN_STAT_PCI)) {
6317- printk(KERN_INFO "%s: subchannel check for device: %04x -"
6318+ dev_info(&cdev->dev,
6319+ "%s: subchannel check for device: %04x -"
6320 " Sch Stat %02x Dev Stat %02x CPA - %04x\n",
6321 dev->name, p_ch->devno,
6322 irb->scsw.cmd.cstat, irb->scsw.cmd.dstat,
6323@@ -651,7 +654,7 @@ claw_irq_handler(struct ccw_device *cdev
6324 wake_up(&p_ch->wait); /* wake claw_open (READ)*/
6325 } else if (p_ch->flag == CLAW_WRITE) {
6326 p_ch->claw_state = CLAW_START_WRITE;
6327- /* send SYSTEM_VALIDATE */
6328+ /* send SYSTEM_VALIDATE */
6329 claw_strt_read(dev, LOCK_NO);
6330 claw_send_control(dev,
6331 SYSTEM_VALIDATE_REQUEST,
6332@@ -659,10 +662,9 @@ claw_irq_handler(struct ccw_device *cdev
6333 p_env->host_name,
6334 p_env->adapter_name);
6335 } else {
6336- printk(KERN_WARNING "claw: unsolicited "
6337- "interrupt for device:"
6338- "%s received c-%02x d-%02x\n",
6339- cdev->dev.bus_id,
6340+ dev_warn(&cdev->dev, "unsolicited "
6341+ "interrupt for device "
6342+ "received c-%02x d-%02x\n",
6343 irb->scsw.cmd.cstat,
6344 irb->scsw.cmd.dstat);
6345 return;
6346@@ -677,8 +679,8 @@ claw_irq_handler(struct ccw_device *cdev
6347 (p_ch->irb->ecw[0] & 0x40) == 0x40 ||
6348 (p_ch->irb->ecw[0]) == 0) {
6349 privptr->stats.rx_errors++;
6350- printk(KERN_INFO "%s: Restart is "
6351- "required after remote "
6352+ dev_info(&cdev->dev,
6353+ "%s: Restart is required after remote "
6354 "side recovers \n",
6355 dev->name);
6356 }
6357@@ -713,11 +715,13 @@ claw_irq_handler(struct ccw_device *cdev
6358 return;
6359 case CLAW_START_WRITE:
6360 if (p_ch->irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) {
6361- printk(KERN_INFO "%s: Unit Check Occured in "
6362+ dev_info(&cdev->dev,
6363+ "%s: Unit Check Occured in "
6364 "write channel\n", dev->name);
6365 clear_bit(0, (void *)&p_ch->IO_active);
6366 if (p_ch->irb->ecw[0] & 0x80) {
6367- printk(KERN_INFO "%s: Resetting Event "
6368+ dev_info(&cdev->dev,
6369+ "%s: Resetting Event "
6370 "occurred:\n", dev->name);
6371 init_timer(&p_ch->timer);
6372 p_ch->timer.function =
6373@@ -725,7 +729,8 @@ claw_irq_handler(struct ccw_device *cdev
6374 p_ch->timer.data = (unsigned long)p_ch;
6375 p_ch->timer.expires = jiffies + 10*HZ;
6376 add_timer(&p_ch->timer);
6377- printk(KERN_INFO "%s: write connection "
6378+ dev_info(&cdev->dev,
6379+ "%s: write connection "
6380 "restarting\n", dev->name);
6381 }
6382 CLAW_DBF_TEXT(4, trace, "rstrtwrt");
6383@@ -733,9 +738,10 @@ claw_irq_handler(struct ccw_device *cdev
6384 }
6385 if (p_ch->irb->scsw.cmd.dstat & DEV_STAT_UNIT_EXCEP) {
6386 clear_bit(0, (void *)&p_ch->IO_active);
6387- printk(KERN_INFO "%s: Unit Exception "
6388- "Occured in write channel\n",
6389- dev->name);
6390+ dev_info(&cdev->dev,
6391+ "%s: Unit Exception "
6392+ "occurred in write channel\n",
6393+ dev->name);
6394 }
6395 if (!((p_ch->irb->scsw.cmd.stctl & SCSW_STCTL_SEC_STATUS) ||
6396 (p_ch->irb->scsw.cmd.stctl == SCSW_STCTL_STATUS_PEND) ||
6397@@ -757,7 +763,8 @@ claw_irq_handler(struct ccw_device *cdev
6398 CLAW_DBF_TEXT(4, trace, "StWtExit");
6399 return;
6400 default:
6401- printk(KERN_WARNING "%s: wrong selection code - irq "
6402+ dev_warn(&cdev->dev,
6403+ "%s: wrong selection code - irq "
6404 "state=%d\n", dev->name, p_ch->claw_state);
6405 CLAW_DBF_TEXT(2, trace, "badIRQ");
6406 return;
6407@@ -910,7 +917,8 @@ claw_release(struct net_device *dev)
6408 if (((privptr->channel[READ].last_dstat |
6409 privptr->channel[WRITE].last_dstat) &
6410 ~(DEV_STAT_CHN_END | DEV_STAT_DEV_END)) != 0x00) {
6411- printk(KERN_WARNING "%s: channel problems during close - "
6412+ dev_warn(&privptr->channel[READ].cdev->dev,
6413+ "%s: channel problems during close - "
6414 "read: %02x - write: %02x\n",
6415 dev->name,
6416 privptr->channel[READ].last_dstat,
6417@@ -1135,20 +1143,19 @@ ccw_check_return_code(struct ccw_device
6418 case -EBUSY: /* BUSY is a transient state no action needed */
6419 break;
6420 case -ENODEV:
6421- printk(KERN_EMERG "%s: Missing device called "
6422- "for IO ENODEV\n", cdev->dev.bus_id);
6423+ dev_err(&cdev->dev, "Device not found "
6424+ "for IO ENODEV\n");
6425 break;
6426 case -EIO:
6427- printk(KERN_EMERG "%s: Status pending... EIO \n",
6428- cdev->dev.bus_id);
6429+ dev_err(&cdev->dev, "Status pending... EIO \n");
6430 break;
6431 case -EINVAL:
6432- printk(KERN_EMERG "%s: Invalid Dev State EINVAL \n",
6433- cdev->dev.bus_id);
6434+ dev_err(&cdev->dev,
6435+ "Invalid Dev State EINVAL \n");
6436 break;
6437 default:
6438- printk(KERN_EMERG "%s: Unknown error in "
6439- "Do_IO %d\n",cdev->dev.bus_id, return_code);
6440+ dev_err(&cdev->dev, "Unknown error in "
6441+ "Do_IO %d\n", return_code);
6442 }
6443 }
6444 CLAW_DBF_TEXT(4, trace, "ccwret");
6445@@ -1162,39 +1169,40 @@ static void
6446 ccw_check_unit_check(struct chbk * p_ch, unsigned char sense )
6447 {
6448 struct net_device *ndev = p_ch->ndev;
6449+ struct device *dev = &p_ch->cdev->dev;
6450
6451 CLAW_DBF_TEXT(4, trace, "unitchek");
6452- printk(KERN_INFO "%s: Unit Check with sense byte:0x%04x\n",
6453- ndev->name, sense);
6454+ dev_info(dev, "%s: Unit Check with sense byte:0x%04x\n",
6455+ ndev->name, sense);
6456
6457 if (sense & 0x40) {
6458 if (sense & 0x01) {
6459- printk(KERN_WARNING "%s: Interface disconnect or "
6460+ dev_warn(dev, "%s: Interface disconnect or "
6461 "Selective reset "
6462 "occurred (remote side)\n", ndev->name);
6463 }
6464 else {
6465- printk(KERN_WARNING "%s: System reset occured"
6466+ dev_warn(dev, "%s: System reset occurred"
6467 " (remote side)\n", ndev->name);
6468 }
6469 }
6470 else if (sense & 0x20) {
6471 if (sense & 0x04) {
6472- printk(KERN_WARNING "%s: Data-streaming "
6473+ dev_warn(dev, "%s: Data-streaming "
6474 "timeout)\n", ndev->name);
6475 }
6476 else {
6477- printk(KERN_WARNING "%s: Data-transfer parity"
6478+ dev_warn(dev, "%s: Data-transfer parity"
6479 " error\n", ndev->name);
6480 }
6481 }
6482 else if (sense & 0x10) {
6483 if (sense & 0x20) {
6484- printk(KERN_WARNING "%s: Hardware malfunction "
6485+ dev_warn(dev, "%s: Hardware malfunction "
6486 "(remote side)\n", ndev->name);
6487 }
6488 else {
6489- printk(KERN_WARNING "%s: read-data parity error "
6490+ dev_warn(dev, "%s: read-data parity error "
6491 "(remote side)\n", ndev->name);
6492 }
6493 }
6494@@ -2002,7 +2010,7 @@ claw_process_control( struct net_device
6495 tdev = &privptr->channel[READ].cdev->dev;
6496 memcpy( &temp_host_name, p_env->host_name, 8);
6497 memcpy( &temp_ws_name, p_env->adapter_name , 8);
6498- printk(KERN_INFO "%s: CLAW device %.8s: "
6499+ dev_info(tdev, "%s: CLAW device %.8s: "
6500 "Received Control Packet\n",
6501 dev->name, temp_ws_name);
6502 if (privptr->release_pend==1) {
6503@@ -2021,30 +2029,28 @@ claw_process_control( struct net_device
6504 if (p_ctlbk->version != CLAW_VERSION_ID) {
6505 claw_snd_sys_validate_rsp(dev, p_ctlbk,
6506 CLAW_RC_WRONG_VERSION);
6507- printk("%s: %d is wrong version id. "
6508- "Expected %d\n",
6509- dev->name, p_ctlbk->version,
6510- CLAW_VERSION_ID);
6511+ dev_info(tdev, "%s: %d is wrong version id. "
6512+ "Expected %d\n", dev->name, p_ctlbk->version,
6513+ CLAW_VERSION_ID);
6514 }
6515 p_sysval = (struct sysval *)&(p_ctlbk->data);
6516- printk("%s: Recv Sys Validate Request: "
6517- "Vers=%d,link_id=%d,Corr=%d,WS name=%."
6518- "8s,Host name=%.8s\n",
6519- dev->name, p_ctlbk->version,
6520- p_ctlbk->linkid,
6521- p_ctlbk->correlator,
6522- p_sysval->WS_name,
6523- p_sysval->host_name);
6524+ dev_info(tdev, "%s: Recv Sys Validate Request: "
6525+ "Vers=%d,link_id=%d,Corr=%d,WS name=%.8s,"
6526+ "Host name=%.8s\n",
6527+ dev->name, p_ctlbk->version,
6528+ p_ctlbk->linkid,
6529+ p_ctlbk->correlator,
6530+ p_sysval->WS_name,
6531+ p_sysval->host_name);
6532 if (memcmp(temp_host_name, p_sysval->host_name, 8)) {
6533 claw_snd_sys_validate_rsp(dev, p_ctlbk,
6534 CLAW_RC_NAME_MISMATCH);
6535 CLAW_DBF_TEXT(2, setup, "HSTBAD");
6536 CLAW_DBF_TEXT_(2, setup, "%s", p_sysval->host_name);
6537 CLAW_DBF_TEXT_(2, setup, "%s", temp_host_name);
6538- printk(KERN_INFO "%s: Host name mismatch\n",
6539- dev->name);
6540- printk(KERN_INFO "%s: Received :%s: "
6541- "expected :%s: \n",
6542+ dev_info(tdev,
6543+ "%s: Host name mismatch. Received: %s "
6544+ "expected: %s\n",
6545 dev->name,
6546 p_sysval->host_name,
6547 temp_host_name);
6548@@ -2055,35 +2061,36 @@ claw_process_control( struct net_device
6549 CLAW_DBF_TEXT(2, setup, "WSNBAD");
6550 CLAW_DBF_TEXT_(2, setup, "%s", p_sysval->WS_name);
6551 CLAW_DBF_TEXT_(2, setup, "%s", temp_ws_name);
6552- printk(KERN_INFO "%s: WS name mismatch\n",
6553- dev->name);
6554- printk(KERN_INFO "%s: Received :%s: "
6555- "expected :%s: \n",
6556- dev->name,
6557- p_sysval->WS_name,
6558- temp_ws_name);
6559+ dev_info(tdev, "%s: WS name mismatch."
6560+ " Received: %s expected: %s\n",
6561+ dev->name,
6562+ p_sysval->WS_name,
6563+ temp_ws_name);
6564 }
6565 if ((p_sysval->write_frame_size < p_env->write_size) &&
6566 (p_env->packing == 0)) {
6567 claw_snd_sys_validate_rsp(dev, p_ctlbk,
6568 CLAW_RC_HOST_RCV_TOO_SMALL);
6569- printk(KERN_INFO "%s: host write size is too "
6570- "small\n", dev->name);
6571+ dev_info(tdev,
6572+ "host write size is too small\n");
6573 CLAW_DBF_TEXT(2, setup, "wrtszbad");
6574 }
6575 if ((p_sysval->read_frame_size < p_env->read_size) &&
6576 (p_env->packing == 0)) {
6577 claw_snd_sys_validate_rsp(dev, p_ctlbk,
6578 CLAW_RC_HOST_RCV_TOO_SMALL);
6579- printk(KERN_INFO "%s: host read size is too "
6580- "small\n", dev->name);
6581+ dev_info(tdev,
6582+ "host read size is too small\n");
6583 CLAW_DBF_TEXT(2, setup, "rdsizbad");
6584 }
6585 claw_snd_sys_validate_rsp(dev, p_ctlbk, 0);
6586- printk(KERN_INFO "%s: CLAW device %.8s: System validate "
6587- "completed.\n", dev->name, temp_ws_name);
6588- printk("%s: sys Validate Rsize:%d Wsize:%d\n", dev->name,
6589- p_sysval->read_frame_size, p_sysval->write_frame_size);
6590+ dev_info(tdev,
6591+ "CLAW device %.8s: System validate"
6592+ " completed.\n", temp_ws_name);
6593+ dev_info(tdev,
6594+ "%s: sys Validate Rsize:%d Wsize:%d\n",
6595+ dev->name, p_sysval->read_frame_size,
6596+ p_sysval->write_frame_size);
6597 privptr->system_validate_comp = 1;
6598 if (strncmp(p_env->api_type, WS_APPL_NAME_PACKED, 6) == 0)
6599 p_env->packing = PACKING_ASK;
6600@@ -2091,8 +2098,9 @@ claw_process_control( struct net_device
6601 break;
6602 case SYSTEM_VALIDATE_RESPONSE:
6603 p_sysval = (struct sysval *)&(p_ctlbk->data);
6604- printk("%s: Recv Sys Validate Resp: Vers=%d,Corr=%d,RC=%d,"
6605- "WS name=%.8s,Host name=%.8s\n",
6606+ dev_info(tdev,
6607+ "%s: Recv Sys Validate Resp: Vers=%d,Corr=%d,"
6608+ "RC=%d,WS name=%.8s,Host name=%.8s\n",
6609 dev->name,
6610 p_ctlbk->version,
6611 p_ctlbk->correlator,
6612@@ -2101,32 +2109,31 @@ claw_process_control( struct net_device
6613 p_sysval->host_name);
6614 switch (p_ctlbk->rc) {
6615 case 0:
6616- printk(KERN_INFO "%s: CLAW device "
6617- "%.8s: System validate "
6618- "completed.\n",
6619- dev->name, temp_ws_name);
6620+ dev_info(tdev, "%s: CLAW device "
6621+ "%.8s: System validate completed.\n",
6622+ dev->name, temp_ws_name);
6623 if (privptr->system_validate_comp == 0)
6624 claw_strt_conn_req(dev);
6625 privptr->system_validate_comp = 1;
6626 break;
6627 case CLAW_RC_NAME_MISMATCH:
6628- printk(KERN_INFO "%s: Sys Validate "
6629+ dev_info(tdev, "%s: Sys Validate "
6630 "Resp : Host, WS name is "
6631 "mismatch\n",
6632- dev->name);
6633+ dev->name);
6634 break;
6635 case CLAW_RC_WRONG_VERSION:
6636- printk(KERN_INFO "%s: Sys Validate "
6637+ dev_info(tdev, "%s: Sys Validate "
6638 "Resp : Wrong version\n",
6639 dev->name);
6640 break;
6641 case CLAW_RC_HOST_RCV_TOO_SMALL:
6642- printk(KERN_INFO "%s: Sys Validate "
6643+ dev_info(tdev, "%s: Sys Validate "
6644 "Resp : bad frame size\n",
6645 dev->name);
6646 break;
6647 default:
6648- printk(KERN_INFO "%s: Sys Validate "
6649+ dev_info(tdev, "%s: Sys Validate "
6650 "error code=%d \n",
6651 dev->name, p_ctlbk->rc);
6652 break;
6653@@ -2135,7 +2142,7 @@ claw_process_control( struct net_device
6654
6655 case CONNECTION_REQUEST:
6656 p_connect = (struct conncmd *)&(p_ctlbk->data);
6657- printk(KERN_INFO "%s: Recv Conn Req: Vers=%d,link_id=%d,"
6658+ dev_info(tdev, "%s: Recv Conn Req: Vers=%d,link_id=%d,"
6659 "Corr=%d,HOST appl=%.8s,WS appl=%.8s\n",
6660 dev->name,
6661 p_ctlbk->version,
6662@@ -2145,20 +2152,20 @@ claw_process_control( struct net_device
6663 p_connect->WS_name);
6664 if (privptr->active_link_ID != 0) {
6665 claw_snd_disc(dev, p_ctlbk);
6666- printk(KERN_INFO "%s: Conn Req error : "
6667+ dev_info(tdev, "%s: Conn Req error : "
6668 "already logical link is active \n",
6669 dev->name);
6670 }
6671 if (p_ctlbk->linkid != 1) {
6672 claw_snd_disc(dev, p_ctlbk);
6673- printk(KERN_INFO "%s: Conn Req error : "
6674+ dev_info(tdev, "%s: Conn Req error : "
6675 "req logical link id is not 1\n",
6676 dev->name);
6677 }
6678 rc = find_link(dev, p_connect->host_name, p_connect->WS_name);
6679 if (rc != 0) {
6680 claw_snd_disc(dev, p_ctlbk);
6681- printk(KERN_INFO "%s: Conn Resp error: "
6682+ dev_info(tdev, "%s: Conn Req error : "
6683 "req appl name does not match\n",
6684 dev->name);
6685 }
6686@@ -2171,7 +2178,7 @@ claw_process_control( struct net_device
6687 p_env->packing = PACK_SEND;
6688 claw_snd_conn_req(dev, 0);
6689 }
6690- printk(KERN_INFO "%s: CLAW device %.8s: Connection "
6691+ dev_info(tdev, "%s: CLAW device %.8s: Connection "
6692 "completed link_id=%d.\n",
6693 dev->name, temp_ws_name,
6694 p_ctlbk->linkid);
6695@@ -2181,7 +2188,7 @@ claw_process_control( struct net_device
6696 break;
6697 case CONNECTION_RESPONSE:
6698 p_connect = (struct conncmd *)&(p_ctlbk->data);
6699- printk(KERN_INFO "%s: Revc Conn Resp: Vers=%d,link_id=%d,"
6700+ dev_info(tdev, "%s: Revc Conn Resp: Vers=%d,link_id=%d,"
6701 "Corr=%d,RC=%d,Host appl=%.8s, WS appl=%.8s\n",
6702 dev->name,
6703 p_ctlbk->version,
6704@@ -2192,7 +2199,7 @@ claw_process_control( struct net_device
6705 p_connect->WS_name);
6706
6707 if (p_ctlbk->rc != 0) {
6708- printk(KERN_INFO "%s: Conn Resp error: rc=%d \n",
6709+ dev_info(tdev, "%s: Conn Resp error: rc=%d \n",
6710 dev->name, p_ctlbk->rc);
6711 return 1;
6712 }
6713@@ -2200,7 +2207,7 @@ claw_process_control( struct net_device
6714 p_connect->host_name, p_connect->WS_name);
6715 if (rc != 0) {
6716 claw_snd_disc(dev, p_ctlbk);
6717- printk(KERN_INFO "%s: Conn Resp error: "
6718+ dev_info(tdev, "%s: Conn Resp error: "
6719 "req appl name does not match\n",
6720 dev->name);
6721 }
6722@@ -2209,7 +2216,8 @@ claw_process_control( struct net_device
6723 break;
6724 case CONNECTION_CONFIRM:
6725 p_connect = (struct conncmd *)&(p_ctlbk->data);
6726- printk(KERN_INFO "%s: Recv Conn Confirm:Vers=%d,link_id=%d,"
6727+ dev_info(tdev,
6728+ "%s: Recv Conn Confirm:Vers=%d,link_id=%d,"
6729 "Corr=%d,Host appl=%.8s,WS appl=%.8s\n",
6730 dev->name,
6731 p_ctlbk->version,
6732@@ -2220,21 +2228,21 @@ claw_process_control( struct net_device
6733 if (p_ctlbk->linkid == -(privptr->active_link_ID)) {
6734 privptr->active_link_ID = p_ctlbk->linkid;
6735 if (p_env->packing > PACKING_ASK) {
6736- printk(KERN_INFO "%s: Confirmed Now packing\n",
6737- dev->name);
6738+ dev_info(tdev,
6739+ "%s: Confirmed Now packing\n", dev->name);
6740 p_env->packing = DO_PACKED;
6741 }
6742 p_ch = &privptr->channel[WRITE];
6743 wake_up(&p_ch->wait);
6744 } else {
6745- printk(KERN_INFO "%s: Conn confirm: "
6746+ dev_info(tdev, "%s: Conn confirm: "
6747 "unexpected linkid=%d \n",
6748 dev->name, p_ctlbk->linkid);
6749 claw_snd_disc(dev, p_ctlbk);
6750 }
6751 break;
6752 case DISCONNECT:
6753- printk(KERN_INFO "%s: Disconnect: "
6754+ dev_info(tdev, "%s: Disconnect: "
6755 "Vers=%d,link_id=%d,Corr=%d\n",
6756 dev->name, p_ctlbk->version,
6757 p_ctlbk->linkid, p_ctlbk->correlator);
6758@@ -2246,11 +2254,11 @@ claw_process_control( struct net_device
6759 privptr->active_link_ID = 0;
6760 break;
6761 case CLAW_ERROR:
6762- printk(KERN_INFO "%s: CLAW ERROR detected\n",
6763+ dev_info(tdev, "%s: CLAW ERROR detected\n",
6764 dev->name);
6765 break;
6766 default:
6767- printk(KERN_INFO "%s: Unexpected command code=%d \n",
6768+ dev_info(tdev, "%s: Unexpected command code=%d \n",
6769 dev->name, p_ctlbk->command);
6770 break;
6771 }
6772@@ -2510,7 +2518,8 @@ unpack_read(struct net_device *dev )
6773 mtc_this_frm=1;
6774 if (p_this_ccw->header.length!=
6775 privptr->p_env->read_size ) {
6776- printk(KERN_INFO " %s: Invalid frame detected "
6777+ dev_info(p_dev,
6778+ "%s: Invalid frame detected "
6779 "length is %02x\n" ,
6780 dev->name, p_this_ccw->header.length);
6781 }
6782@@ -2594,8 +2603,8 @@ unpack_next:
6783 }
6784 else {
6785 privptr->stats.rx_dropped++;
6786- printk(KERN_WARNING "%s: %s() low on memory\n",
6787- dev->name,__func__);
6788+ dev_warn(p_dev,
6789+ "buffer allocate failed on receive\n");
6790 }
6791 privptr->mtc_offset=0;
6792 privptr->mtc_logical_link=-1;
6793@@ -2879,7 +2888,8 @@ claw_new_device(struct ccwgroup_device *
6794 int ret;
6795 struct ccw_dev_id dev_id;
6796
6797- printk(KERN_INFO "claw: add for %s\n",cgdev->cdev[READ]->dev.bus_id);
6798+ dev_info(&cgdev->dev, "add for %s\n",
6799+ dev_name(&cgdev->cdev[READ]->dev));
6800 CLAW_DBF_TEXT(2, setup, "new_dev");
6801 privptr = cgdev->dev.driver_data;
6802 cgdev->cdev[READ]->dev.driver_data = privptr;
6803@@ -2895,27 +2905,28 @@ claw_new_device(struct ccwgroup_device *
6804 if (ret == 0)
6805 ret = add_channel(cgdev->cdev[1],1,privptr);
6806 if (ret != 0) {
6807- printk(KERN_WARNING
6808- "add channel failed with ret = %d\n", ret);
6809+ dev_warn(&cgdev->dev, "add channel failed "
6810+ "with ret = %d\n", ret);
6811 goto out;
6812 }
6813 ret = ccw_device_set_online(cgdev->cdev[READ]);
6814 if (ret != 0) {
6815- printk(KERN_WARNING
6816- "claw: ccw_device_set_online %s READ failed "
6817- "with ret = %d\n",cgdev->cdev[READ]->dev.bus_id,ret);
6818+ dev_warn(&cgdev->dev,
6819+ "device set online READ failed "
6820+ "with ret = %d\n", ret);
6821 goto out;
6822 }
6823 ret = ccw_device_set_online(cgdev->cdev[WRITE]);
6824 if (ret != 0) {
6825- printk(KERN_WARNING
6826- "claw: ccw_device_set_online %s WRITE failed "
6827- "with ret = %d\n",cgdev->cdev[WRITE]->dev.bus_id, ret);
6828+ dev_warn(&cgdev->dev,
6829+ "device set online WRITE failed "
6830+ "with ret = %d\n", ret);
6831 goto out;
6832 }
6833 dev = alloc_netdev(0,"claw%d",claw_init_netdevice);
6834 if (!dev) {
6835- printk(KERN_WARNING "%s:alloc_netdev failed\n",__func__);
6836+ dev_warn(&cgdev->dev,
6837+ "failed creating network device\n");
6838 goto out;
6839 }
6840 dev->ml_priv = privptr;
6841@@ -2943,13 +2954,13 @@ claw_new_device(struct ccwgroup_device *
6842 privptr->channel[WRITE].ndev = dev;
6843 privptr->p_env->ndev = dev;
6844
6845- printk(KERN_INFO "%s:readsize=%d writesize=%d "
6846+ dev_info(&cgdev->dev, "%s:readsize=%d writesize=%d "
6847 "readbuffer=%d writebuffer=%d read=0x%04x write=0x%04x\n",
6848 dev->name, p_env->read_size,
6849 p_env->write_size, p_env->read_buffers,
6850 p_env->write_buffers, p_env->devno[READ],
6851 p_env->devno[WRITE]);
6852- printk(KERN_INFO "%s:host_name:%.8s, adapter_name "
6853+ dev_info(&cgdev->dev, "%s:host_name:%.8s, adapter_name "
6854 ":%.8s api_type: %.8s\n",
6855 dev->name, p_env->host_name,
6856 p_env->adapter_name , p_env->api_type);
6857@@ -2993,8 +3004,8 @@ claw_shutdown_device(struct ccwgroup_dev
6858 ndev = priv->channel[READ].ndev;
6859 if (ndev) {
6860 /* Close the device */
6861- printk(KERN_INFO
6862- "%s: shuting down \n",ndev->name);
6863+ dev_info(&cgdev->dev, "%s: shutting down \n",
6864+ ndev->name);
6865 if (ndev->flags & IFF_RUNNING)
6866 ret = claw_release(ndev);
6867 ndev->flags &=~IFF_RUNNING;
6868@@ -3019,8 +3030,7 @@ claw_remove_device(struct ccwgroup_devic
6869 CLAW_DBF_TEXT_(2, setup, "%s", cgdev->dev.bus_id);
6870 priv = cgdev->dev.driver_data;
6871 BUG_ON(!priv);
6872- printk(KERN_INFO "claw: %s() called %s will be removed.\n",
6873- __func__,cgdev->cdev[0]->dev.bus_id);
6874+ dev_info(&cgdev->dev, " will be removed.\n");
6875 if (cgdev->state == CCWGROUP_ONLINE)
6876 claw_shutdown_device(cgdev);
6877 claw_remove_files(&cgdev->dev);
6878@@ -3285,7 +3295,7 @@ claw_cleanup(void)
6879 {
6880 unregister_cu3088_discipline(&claw_group_driver);
6881 claw_unregister_debug_facility();
6882- printk(KERN_INFO "claw: Driver unloaded\n");
6883+ pr_info("Driver unloaded\n");
6884
6885 }
6886
6887@@ -3299,12 +3309,11 @@ static int __init
6888 claw_init(void)
6889 {
6890 int ret = 0;
6891- printk(KERN_INFO "claw: starting driver\n");
6892
6893+ pr_info("Loading %s\n", version);
6894 ret = claw_register_debug_facility();
6895 if (ret) {
6896- printk(KERN_WARNING "claw: %s() debug_register failed %d\n",
6897- __func__,ret);
6898+ pr_warning("debug_register failed %d\n", ret);
6899 return ret;
6900 }
6901 CLAW_DBF_TEXT(2, setup, "init_mod");
6902@@ -3312,8 +3321,7 @@ claw_init(void)
6903 if (ret) {
6904 CLAW_DBF_TEXT(2, setup, "init_bad");
6905 claw_unregister_debug_facility();
6906- printk(KERN_WARNING "claw; %s() cu3088 register failed %d\n",
6907- __func__,ret);
6908+ pr_warning("register_cu3088_discipline() failed rc=%d\n", ret);
6909 }
6910 return ret;
6911 }
6912--- a/drivers/s390/net/ctcm_fsms.c
6913+++ b/drivers/s390/net/ctcm_fsms.c
6914@@ -13,6 +13,8 @@
6915 #undef DEBUGDATA
6916 #undef DEBUGCCW
6917
6918+#define KMSG_COMPONENT "ctcm"
6919+
6920 #include <linux/module.h>
6921 #include <linux/init.h>
6922 #include <linux/kernel.h>
6923@@ -190,21 +192,22 @@ static void ctcmpc_chx_send_sweep(fsm_in
6924 void ctcm_ccw_check_rc(struct channel *ch, int rc, char *msg)
6925 {
6926 CTCM_DBF_TEXT_(ERROR, CTC_DBF_ERROR,
6927- "%s(%s): %s: %04x\n",
6928- CTCM_FUNTAIL, ch->id, msg, rc);
6929+ "%s(%s): %s: %04x\n",
6930+ CTCM_FUNTAIL, ch->id, msg, rc);
6931 switch (rc) {
6932 case -EBUSY:
6933- ctcm_pr_warn("%s (%s): Busy !\n", ch->id, msg);
6934+ pr_info("%s: The communication peer is busy\n",
6935+ ch->id);
6936 fsm_event(ch->fsm, CTC_EVENT_IO_EBUSY, ch);
6937 break;
6938 case -ENODEV:
6939- ctcm_pr_emerg("%s (%s): Invalid device called for IO\n",
6940- ch->id, msg);
6941+ pr_err("%s: The specified target device is not valid\n",
6942+ ch->id);
6943 fsm_event(ch->fsm, CTC_EVENT_IO_ENODEV, ch);
6944 break;
6945 default:
6946- ctcm_pr_emerg("%s (%s): Unknown error in do_IO %04x\n",
6947- ch->id, msg, rc);
6948+ pr_err("An I/O operation resulted in error %04x\n",
6949+ rc);
6950 fsm_event(ch->fsm, CTC_EVENT_IO_UNKNOWN, ch);
6951 }
6952 }
6953@@ -886,8 +889,15 @@ static void ctcm_chx_rxiniterr(fsm_insta
6954 fsm_newstate(fi, CTC_STATE_RXERR);
6955 fsm_event(priv->fsm, DEV_EVENT_RXDOWN, dev);
6956 }
6957- } else
6958- ctcm_pr_warn("%s: Error during RX init handshake\n", dev->name);
6959+ } else {
6960+ CTCM_DBF_TEXT_(ERROR, CTC_DBF_ERROR,
6961+ "%s(%s): %s in %s", CTCM_FUNTAIL, ch->id,
6962+ ctc_ch_event_names[event], fsm_getstate_str(fi));
6963+
6964+ dev_warn(&dev->dev,
6965+ "Initialization failed with RX/TX init handshake "
6966+ "error %s\n", ctc_ch_event_names[event]);
6967+ }
6968 }
6969
6970 /**
6971@@ -969,7 +979,9 @@ static void ctcm_chx_txiniterr(fsm_insta
6972 "%s(%s): %s in %s", CTCM_FUNTAIL, ch->id,
6973 ctc_ch_event_names[event], fsm_getstate_str(fi));
6974
6975- ctcm_pr_warn("%s: Error during TX init handshake\n", dev->name);
6976+ dev_warn(&dev->dev,
6977+ "Initialization failed with RX/TX init handshake "
6978+ "error %s\n", ctc_ch_event_names[event]);
6979 }
6980 }
6981
6982@@ -2101,14 +2113,11 @@ static void dev_action_restart(fsm_insta
6983 CTCMY_DBF_DEV_NAME(TRACE, dev, "");
6984
6985 if (IS_MPC(priv)) {
6986- ctcm_pr_info("ctcm: %s Restarting Device and "
6987- "MPC Group in 5 seconds\n",
6988- dev->name);
6989 restart_timer = CTCM_TIME_1_SEC;
6990 } else {
6991- ctcm_pr_info("%s: Restarting\n", dev->name);
6992 restart_timer = CTCM_TIME_5_SEC;
6993 }
6994+ dev_info(&dev->dev, "Restarting device\n");
6995
6996 dev_action_stop(fi, event, arg);
6997 fsm_event(priv->fsm, DEV_EVENT_STOP, dev);
6998@@ -2150,16 +2159,16 @@ static void dev_action_chup(fsm_instance
6999 case DEV_STATE_STARTWAIT_RX:
7000 if (event == DEV_EVENT_RXUP) {
7001 fsm_newstate(fi, DEV_STATE_RUNNING);
7002- ctcm_pr_info("%s: connected with remote side\n",
7003- dev->name);
7004+ dev_info(&dev->dev,
7005+ "Connected with remote side\n");
7006 ctcm_clear_busy(dev);
7007 }
7008 break;
7009 case DEV_STATE_STARTWAIT_TX:
7010 if (event == DEV_EVENT_TXUP) {
7011 fsm_newstate(fi, DEV_STATE_RUNNING);
7012- ctcm_pr_info("%s: connected with remote side\n",
7013- dev->name);
7014+ dev_info(&dev->dev,
7015+ "Connected with remote side\n");
7016 ctcm_clear_busy(dev);
7017 }
7018 break;
7019--- a/drivers/s390/net/ctcm_main.c
7020+++ b/drivers/s390/net/ctcm_main.c
7021@@ -21,6 +21,8 @@
7022 #undef DEBUGDATA
7023 #undef DEBUGCCW
7024
7025+#define KMSG_COMPONENT "ctcm"
7026+
7027 #include <linux/module.h>
7028 #include <linux/init.h>
7029 #include <linux/kernel.h>
7030@@ -281,14 +283,16 @@ static long ctcm_check_irb_error(struct
7031
7032 switch (PTR_ERR(irb)) {
7033 case -EIO:
7034- ctcm_pr_warn("i/o-error on device %s\n", cdev->dev.bus_id);
7035+ dev_err(&cdev->dev,
7036+ "An I/O-error occurred on the CTCM device\n");
7037 break;
7038 case -ETIMEDOUT:
7039- ctcm_pr_warn("timeout on device %s\n", cdev->dev.bus_id);
7040+ dev_err(&cdev->dev,
7041+ "An adapter hardware operation timed out\n");
7042 break;
7043 default:
7044- ctcm_pr_warn("unknown error %ld on device %s\n",
7045- PTR_ERR(irb), cdev->dev.bus_id);
7046+ dev_err(&cdev->dev,
7047+ "An error occurred on the adapter hardware\n");
7048 }
7049 return PTR_ERR(irb);
7050 }
7051@@ -309,15 +313,17 @@ static inline void ccw_unit_check(struct
7052 if (sense & SNS0_INTERVENTION_REQ) {
7053 if (sense & 0x01) {
7054 if (ch->sense_rc != 0x01) {
7055- ctcm_pr_debug("%s: Interface disc. or Sel. "
7056- "reset (remote)\n", ch->id);
7057+ pr_notice(
7058+ "%s: The communication peer has "
7059+ "disconnected\n", ch->id);
7060 ch->sense_rc = 0x01;
7061 }
7062 fsm_event(ch->fsm, CTC_EVENT_UC_RCRESET, ch);
7063 } else {
7064 if (ch->sense_rc != SNS0_INTERVENTION_REQ) {
7065- ctcm_pr_debug("%s: System reset (remote)\n",
7066- ch->id);
7067+ pr_notice(
7068+ "%s: The remote operating system is "
7069+ "not available\n", ch->id);
7070 ch->sense_rc = SNS0_INTERVENTION_REQ;
7071 }
7072 fsm_event(ch->fsm, CTC_EVENT_UC_RSRESET, ch);
7073@@ -1194,8 +1200,11 @@ static void ctcm_irq_handler(struct ccw_
7074
7075 /* Check for unsolicited interrupts. */
7076 if (cgdev == NULL) {
7077- ctcm_pr_warn("ctcm: Got unsolicited irq: c-%02x d-%02x\n",
7078- cstat, dstat);
7079+ CTCM_DBF_TEXT_(TRACE, CTC_DBF_ERROR,
7080+ "%s(%s) unsolicited irq: c-%02x d-%02x\n",
7081+ CTCM_FUNTAIL, dev_name(&cdev->dev), cstat, dstat);
7082+ dev_warn(&cdev->dev,
7083+ "The adapter received a non-specific IRQ\n");
7084 return;
7085 }
7086
7087@@ -1207,31 +1216,34 @@ static void ctcm_irq_handler(struct ccw_
7088 else if (priv->channel[WRITE]->cdev == cdev)
7089 ch = priv->channel[WRITE];
7090 else {
7091- ctcm_pr_err("ctcm: Can't determine channel for interrupt, "
7092- "device %s\n", cdev->dev.bus_id);
7093+ dev_err(&cdev->dev,
7094+ "%s: Internal error: Can't determine channel for "
7095+ "interrupt device %s\n",
7096+ __func__, dev_name(&cdev->dev));
7097+ /* Explain: inconsistent internal structures */
7098 return;
7099 }
7100
7101 dev = ch->netdev;
7102 if (dev == NULL) {
7103- ctcm_pr_crit("ctcm: %s dev=NULL bus_id=%s, ch=0x%p\n",
7104- __func__, cdev->dev.bus_id, ch);
7105+ dev_err(&cdev->dev,
7106+ "%s Internal error: net_device is NULL, ch = 0x%p\n",
7107+ __func__, ch);
7108+ /* Explain: inconsistent internal structures */
7109 return;
7110 }
7111
7112- CTCM_DBF_TEXT_(TRACE, CTC_DBF_DEBUG,
7113- "%s(%s): int. for %s: cstat=%02x dstat=%02x",
7114- CTCM_FUNTAIL, dev->name, ch->id, cstat, dstat);
7115-
7116 /* Copy interruption response block. */
7117 memcpy(ch->irb, irb, sizeof(struct irb));
7118
7119+ /* Issue error message and return on subchannel error code */
7120 if (irb->scsw.cmd.cstat) {
7121- /* Check for good subchannel return code, otherwise error message */
7122 fsm_event(ch->fsm, CTC_EVENT_SC_UNKNOWN, ch);
7123- ctcm_pr_warn("%s: subchannel check for dev: %s - %02x %02x\n",
7124- dev->name, ch->id, irb->scsw.cmd.cstat,
7125- irb->scsw.cmd.dstat);
7126+ CTCM_DBF_TEXT_(TRACE, CTC_DBF_WARN,
7127+ "%s(%s): sub-ch check %s: cs=%02x ds=%02x",
7128+ CTCM_FUNTAIL, dev->name, ch->id, cstat, dstat);
7129+ dev_warn(&cdev->dev,
7130+ "A check occurred on the subchannel\n");
7131 return;
7132 }
7133
7134@@ -1239,7 +1251,7 @@ static void ctcm_irq_handler(struct ccw_
7135 if (irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) {
7136 if ((irb->ecw[0] & ch->sense_rc) == 0)
7137 /* print it only once */
7138- CTCM_DBF_TEXT_(TRACE, CTC_DBF_INFO,
7139+ CTCM_DBF_TEXT_(TRACE, CTC_DBF_WARN,
7140 "%s(%s): sense=%02x, ds=%02x",
7141 CTCM_FUNTAIL, ch->id, irb->ecw[0], dstat);
7142 ccw_unit_check(ch, irb->ecw[0]);
7143@@ -1574,6 +1586,11 @@ static int ctcm_new_device(struct ccwgro
7144
7145 strlcpy(priv->fsm->name, dev->name, sizeof(priv->fsm->name));
7146
7147+ dev_info(&dev->dev,
7148+ "setup OK : r/w = %s/%s, protocol : %d\n",
7149+ priv->channel[READ]->id,
7150+ priv->channel[WRITE]->id, priv->protocol);
7151+
7152 CTCM_DBF_TEXT_(SETUP, CTC_DBF_INFO,
7153 "setup(%s) OK : r/w = %s/%s, protocol : %d", dev->name,
7154 priv->channel[READ]->id,
7155@@ -1687,7 +1704,7 @@ static void __exit ctcm_exit(void)
7156 {
7157 unregister_cu3088_discipline(&ctcm_group_driver);
7158 ctcm_unregister_dbf_views();
7159- ctcm_pr_info("CTCM driver unloaded\n");
7160+ pr_info("CTCM driver unloaded\n");
7161 }
7162
7163 /*
7164@@ -1695,7 +1712,7 @@ static void __exit ctcm_exit(void)
7165 */
7166 static void print_banner(void)
7167 {
7168- printk(KERN_INFO "CTCM driver initialized\n");
7169+ pr_info("CTCM driver initialized\n");
7170 }
7171
7172 /**
7173@@ -1717,8 +1734,8 @@ static int __init ctcm_init(void)
7174 ret = register_cu3088_discipline(&ctcm_group_driver);
7175 if (ret) {
7176 ctcm_unregister_dbf_views();
7177- ctcm_pr_crit("ctcm_init failed with register_cu3088_discipline "
7178- "(rc = %d)\n", ret);
7179+ pr_err("%s / register_cu3088_discipline failed, ret = %d\n",
7180+ __func__, ret);
7181 return ret;
7182 }
7183 print_banner();
7184--- a/drivers/s390/net/ctcm_main.h
7185+++ b/drivers/s390/net/ctcm_main.h
7186@@ -41,12 +41,6 @@
7187 #define LOG_FLAG_NOMEM 8
7188
7189 #define ctcm_pr_debug(fmt, arg...) printk(KERN_DEBUG fmt, ##arg)
7190-#define ctcm_pr_info(fmt, arg...) printk(KERN_INFO fmt, ##arg)
7191-#define ctcm_pr_notice(fmt, arg...) printk(KERN_NOTICE fmt, ##arg)
7192-#define ctcm_pr_warn(fmt, arg...) printk(KERN_WARNING fmt, ##arg)
7193-#define ctcm_pr_emerg(fmt, arg...) printk(KERN_EMERG fmt, ##arg)
7194-#define ctcm_pr_err(fmt, arg...) printk(KERN_ERR fmt, ##arg)
7195-#define ctcm_pr_crit(fmt, arg...) printk(KERN_CRIT fmt, ##arg)
7196
7197 #define CTCM_PR_DEBUG(fmt, arg...) \
7198 do { \
7199--- a/drivers/s390/net/ctcm_mpc.c
7200+++ b/drivers/s390/net/ctcm_mpc.c
7201@@ -19,6 +19,8 @@
7202 #undef DEBUGDATA
7203 #undef DEBUGCCW
7204
7205+#define KMSG_COMPONENT "ctcm"
7206+
7207 #include <linux/module.h>
7208 #include <linux/init.h>
7209 #include <linux/kernel.h>
7210@@ -386,7 +388,7 @@ int ctc_mpc_alloc_channel(int port_num,
7211 if (grp->allocchan_callback_retries < 4) {
7212 if (grp->allochanfunc)
7213 grp->allochanfunc(grp->port_num,
7214- grp->group_max_buflen);
7215+ grp->group_max_buflen);
7216 } else {
7217 /* there are problems...bail out */
7218 /* there may be a state mismatch so restart */
7219@@ -1232,8 +1234,9 @@ done:
7220
7221 dev_kfree_skb_any(pskb);
7222 if (sendrc == NET_RX_DROP) {
7223- printk(KERN_WARNING "%s %s() NETWORK BACKLOG EXCEEDED"
7224- " - PACKET DROPPED\n", dev->name, __func__);
7225+ dev_warn(&dev->dev,
7226+ "The network backlog for %s is exceeded, "
7227+ "package dropped\n", __func__);
7228 fsm_event(grp->fsm, MPCG_EVENT_INOP, dev);
7229 }
7230
7231@@ -1670,10 +1673,11 @@ static int mpc_validate_xid(struct mpcg_
7232 CTCM_FUNTAIL, ch->id);
7233 }
7234 }
7235-
7236 done:
7237 if (rc) {
7238- ctcm_pr_info("ctcmpc : %s() failed\n", __FUNCTION__);
7239+ dev_warn(&dev->dev,
7240+ "The XID used in the MPC protocol is not valid, "
7241+ "rc = %d\n", rc);
7242 priv->xid->xid2_flag2 = 0x40;
7243 grp->saved_xid2->xid2_flag2 = 0x40;
7244 }
7245--- a/drivers/s390/net/ctcm_sysfs.c
7246+++ b/drivers/s390/net/ctcm_sysfs.c
7247@@ -10,6 +10,8 @@
7248 #undef DEBUGDATA
7249 #undef DEBUGCCW
7250
7251+#define KMSG_COMPONENT "ctcm"
7252+
7253 #include <linux/sysfs.h>
7254 #include "ctcm_main.h"
7255
7256--- a/drivers/s390/net/lcs.c
7257+++ b/drivers/s390/net/lcs.c
7258@@ -26,6 +26,8 @@
7259 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
7260 */
7261
7262+#define KMSG_COMPONENT "lcs"
7263+
7264 #include <linux/module.h>
7265 #include <linux/if.h>
7266 #include <linux/netdevice.h>
7267@@ -54,8 +56,6 @@
7268 #error Cannot compile lcs.c without some net devices switched on.
7269 #endif
7270
7271-#define PRINTK_HEADER " lcs: "
7272-
7273 /**
7274 * initialization string for output
7275 */
7276@@ -96,7 +96,7 @@ lcs_register_debug_facility(void)
7277 lcs_dbf_setup = debug_register("lcs_setup", 2, 1, 8);
7278 lcs_dbf_trace = debug_register("lcs_trace", 4, 1, 8);
7279 if (lcs_dbf_setup == NULL || lcs_dbf_trace == NULL) {
7280- PRINT_ERR("Not enough memory for debug facility.\n");
7281+ pr_err("Not enough memory for debug facility.\n");
7282 lcs_unregister_debug_facility();
7283 return -ENOMEM;
7284 }
7285@@ -502,7 +502,9 @@ lcs_start_channel(struct lcs_channel *ch
7286 spin_unlock_irqrestore(get_ccwdev_lock(channel->ccwdev), flags);
7287 if (rc) {
7288 LCS_DBF_TEXT_(4,trace,"essh%s", channel->ccwdev->dev.bus_id);
7289- PRINT_ERR("Error in starting channel, rc=%d!\n", rc);
7290+ dev_err(&channel->ccwdev->dev,
7291+ "Starting an LCS device resulted in an error,"
7292+ " rc=%d!\n", rc);
7293 }
7294 return rc;
7295 }
7296@@ -636,7 +638,9 @@ __lcs_resume_channel(struct lcs_channel
7297 rc = ccw_device_resume(channel->ccwdev);
7298 if (rc) {
7299 LCS_DBF_TEXT_(4, trace, "ersc%s", channel->ccwdev->dev.bus_id);
7300- PRINT_ERR("Error in lcs_resume_channel: rc=%d\n",rc);
7301+ dev_warn(&channel->ccwdev->dev,
7302+ "Sending data from the LCS device to the LAN failed"
7303+ " with rc=%d\n",rc);
7304 } else
7305 channel->state = LCS_CH_STATE_RUNNING;
7306 return rc;
7307@@ -1082,7 +1086,7 @@ lcs_check_multicast_support(struct lcs_c
7308 cmd->cmd.lcs_qipassist.num_ip_pairs = 1;
7309 rc = lcs_send_lancmd(card, buffer, __lcs_check_multicast_cb);
7310 if (rc != 0) {
7311- PRINT_ERR("Query IPAssist failed. Assuming unsupported!\n");
7312+ pr_err("Query IPAssist failed. Assuming unsupported!\n");
7313 return -EOPNOTSUPP;
7314 }
7315 if (card->ip_assists_supported & LCS_IPASS_MULTICAST_SUPPORT)
7316@@ -1115,8 +1119,8 @@ list_modified:
7317 rc = lcs_send_setipm(card, ipm);
7318 spin_lock_irqsave(&card->ipm_lock, flags);
7319 if (rc) {
7320- PRINT_INFO("Adding multicast address failed. "
7321- "Table possibly full!\n");
7322+ pr_info("Adding multicast address failed."
7323+ " Table possibly full!\n");
7324 /* store ipm in failed list -> will be added
7325 * to ipm_list again, so a retry will be done
7326 * during the next call of this function */
7327@@ -1227,8 +1231,8 @@ lcs_set_mc_addresses(struct lcs_card *ca
7328 ipm = (struct lcs_ipm_list *)
7329 kzalloc(sizeof(struct lcs_ipm_list), GFP_ATOMIC);
7330 if (ipm == NULL) {
7331- PRINT_INFO("Not enough memory to add "
7332- "new multicast entry!\n");
7333+ pr_info("Not enough memory to add"
7334+ " new multicast entry!\n");
7335 break;
7336 }
7337 memcpy(&ipm->ipm.mac_addr, buf, LCS_MAC_LENGTH);
7338@@ -1302,18 +1306,21 @@ lcs_check_irb_error(struct ccw_device *c
7339
7340 switch (PTR_ERR(irb)) {
7341 case -EIO:
7342- PRINT_WARN("i/o-error on device %s\n", cdev->dev.bus_id);
7343+ dev_warn(&cdev->dev,
7344+ "An I/O-error occurred on the LCS device\n");
7345 LCS_DBF_TEXT(2, trace, "ckirberr");
7346 LCS_DBF_TEXT_(2, trace, " rc%d", -EIO);
7347 break;
7348 case -ETIMEDOUT:
7349- PRINT_WARN("timeout on device %s\n", cdev->dev.bus_id);
7350+ dev_warn(&cdev->dev,
7351+ "A command timed out on the LCS device\n");
7352 LCS_DBF_TEXT(2, trace, "ckirberr");
7353 LCS_DBF_TEXT_(2, trace, " rc%d", -ETIMEDOUT);
7354 break;
7355 default:
7356- PRINT_WARN("unknown error %ld on device %s\n", PTR_ERR(irb),
7357- cdev->dev.bus_id);
7358+ dev_warn(&cdev->dev,
7359+ "An error occurred on the LCS device, rc=%ld\n",
7360+ PTR_ERR(irb));
7361 LCS_DBF_TEXT(2, trace, "ckirberr");
7362 LCS_DBF_TEXT(2, trace, " rc???");
7363 }
7364@@ -1399,8 +1406,10 @@ lcs_irq(struct ccw_device *cdev, unsigne
7365 /* Check for channel and device errors presented */
7366 rc = lcs_get_problem(cdev, irb);
7367 if (rc || (dstat & DEV_STAT_UNIT_EXCEP)) {
7368- PRINT_WARN("check on device %s, dstat=0x%X, cstat=0x%X \n",
7369- cdev->dev.bus_id, dstat, cstat);
7370+ dev_warn(&cdev->dev,
7371+ "The LCS device stopped because of an error,"
7372+ " dstat=0x%X, cstat=0x%X \n",
7373+ dstat, cstat);
7374 if (rc) {
7375 channel->state = LCS_CH_STATE_ERROR;
7376 }
7377@@ -1757,8 +1766,8 @@ lcs_get_control(struct lcs_card *card, s
7378 lcs_schedule_recovery(card);
7379 break;
7380 case LCS_CMD_STOPLAN:
7381- PRINT_WARN("Stoplan for %s initiated by LGW.\n",
7382- card->dev->name);
7383+ pr_warning("Stoplan for %s initiated by LGW.\n",
7384+ card->dev->name);
7385 if (card->dev)
7386 netif_carrier_off(card->dev);
7387 break;
7388@@ -1786,7 +1795,8 @@ lcs_get_skb(struct lcs_card *card, char
7389
7390 skb = dev_alloc_skb(skb_len);
7391 if (skb == NULL) {
7392- PRINT_ERR("LCS: alloc_skb failed for device=%s\n",
7393+ dev_err(&card->dev->dev,
7394+ " Allocating a socket buffer to interface %s failed\n",
7395 card->dev->name);
7396 card->stats.rx_dropped++;
7397 return;
7398@@ -1882,7 +1892,8 @@ lcs_stop_device(struct net_device *dev)
7399 (card->write.state != LCS_CH_STATE_RUNNING));
7400 rc = lcs_stopcard(card);
7401 if (rc)
7402- PRINT_ERR("Try it again!\n ");
7403+ dev_err(&card->dev->dev,
7404+ " Shutting down the LCS device failed\n ");
7405 return rc;
7406 }
7407
7408@@ -1901,7 +1912,7 @@ lcs_open_device(struct net_device *dev)
7409 /* initialize statistics */
7410 rc = lcs_detect(card);
7411 if (rc) {
7412- PRINT_ERR("LCS:Error in opening device!\n");
7413+ pr_err("Error in opening device!\n");
7414
7415 } else {
7416 dev->flags |= IFF_UP;
7417@@ -2109,8 +2120,9 @@ lcs_new_device(struct ccwgroup_device *c
7418 rc = lcs_detect(card);
7419 if (rc) {
7420 LCS_DBF_TEXT(2, setup, "dtctfail");
7421- PRINT_WARN("Detection of LCS card failed with return code "
7422- "%d (0x%x)\n", rc, rc);
7423+ dev_warn(&card->dev->dev,
7424+ "Detecting a network adapter for LCS devices"
7425+ " failed with rc=%d (0x%x)\n", rc, rc);
7426 lcs_stopcard(card);
7427 goto out;
7428 }
7429@@ -2140,7 +2152,7 @@ lcs_new_device(struct ccwgroup_device *c
7430 #endif
7431 default:
7432 LCS_DBF_TEXT(3, setup, "errinit");
7433- PRINT_ERR("LCS: Initialization failed\n");
7434+ pr_err(" Initialization failed\n");
7435 goto out;
7436 }
7437 if (!dev)
7438@@ -2172,13 +2184,13 @@ netdev_out:
7439 goto out;
7440
7441 /* Print out supported assists: IPv6 */
7442- PRINT_INFO("LCS device %s %s IPv6 support\n", card->dev->name,
7443- (card->ip_assists_supported & LCS_IPASS_IPV6_SUPPORT) ?
7444- "with" : "without");
7445+ pr_info("LCS device %s %s IPv6 support\n", card->dev->name,
7446+ (card->ip_assists_supported & LCS_IPASS_IPV6_SUPPORT) ?
7447+ "with" : "without");
7448 /* Print out supported assist: Multicast */
7449- PRINT_INFO("LCS device %s %s Multicast support\n", card->dev->name,
7450- (card->ip_assists_supported & LCS_IPASS_MULTICAST_SUPPORT) ?
7451- "with" : "without");
7452+ pr_info("LCS device %s %s Multicast support\n", card->dev->name,
7453+ (card->ip_assists_supported & LCS_IPASS_MULTICAST_SUPPORT) ?
7454+ "with" : "without");
7455 return 0;
7456 out:
7457
7458@@ -2244,15 +2256,16 @@ lcs_recovery(void *ptr)
7459 return 0;
7460 LCS_DBF_TEXT(4, trace, "recover2");
7461 gdev = card->gdev;
7462- PRINT_WARN("Recovery of device %s started...\n", gdev->dev.bus_id);
7463+ dev_warn(&gdev->dev,
7464+ "A recovery process has been started for the LCS device\n");
7465 rc = __lcs_shutdown_device(gdev, 1);
7466 rc = lcs_new_device(gdev);
7467 if (!rc)
7468- PRINT_INFO("Device %s successfully recovered!\n",
7469- card->dev->name);
7470+ pr_info("Device %s successfully recovered!\n",
7471+ card->dev->name);
7472 else
7473- PRINT_INFO("Device %s could not be recovered!\n",
7474- card->dev->name);
7475+ pr_info("Device %s could not be recovered!\n",
7476+ card->dev->name);
7477 lcs_clear_thread_running_bit(card, LCS_RECOVERY_THREAD);
7478 return 0;
7479 }
7480@@ -2304,17 +2317,17 @@ __init lcs_init_module(void)
7481 {
7482 int rc;
7483
7484- PRINT_INFO("Loading %s\n",version);
7485+ pr_info("Loading %s\n", version);
7486 rc = lcs_register_debug_facility();
7487 LCS_DBF_TEXT(0, setup, "lcsinit");
7488 if (rc) {
7489- PRINT_ERR("Initialization failed\n");
7490+ pr_err("Initialization failed\n");
7491 return rc;
7492 }
7493
7494 rc = register_cu3088_discipline(&lcs_group_driver);
7495 if (rc) {
7496- PRINT_ERR("Initialization failed\n");
7497+ pr_err("Initialization failed\n");
7498 return rc;
7499 }
7500 return 0;
7501@@ -2327,7 +2340,7 @@ __init lcs_init_module(void)
7502 static void
7503 __exit lcs_cleanup_module(void)
7504 {
7505- PRINT_INFO("Terminating lcs module.\n");
7506+ pr_info("Terminating lcs module.\n");
7507 LCS_DBF_TEXT(0, trace, "cleanup");
7508 unregister_cu3088_discipline(&lcs_group_driver);
7509 lcs_unregister_debug_facility();
7510--- a/drivers/s390/net/netiucv.c
7511+++ b/drivers/s390/net/netiucv.c
7512@@ -31,6 +31,8 @@
7513 *
7514 */
7515
7516+#define KMSG_COMPONENT "netiucv"
7517+
7518 #undef DEBUG
7519
7520 #include <linux/module.h>
7521@@ -846,7 +848,8 @@ static void conn_action_connsever(fsm_in
7522
7523 fsm_deltimer(&conn->timer);
7524 iucv_path_sever(conn->path, NULL);
7525- PRINT_INFO("%s: Remote dropped connection\n", netdev->name);
7526+ dev_info(privptr->dev, "The peer interface of the IUCV device"
7527+ " has closed the connection\n");
7528 IUCV_DBF_TEXT(data, 2,
7529 "conn_action_connsever: Remote dropped connection\n");
7530 fsm_newstate(fi, CONN_STATE_STARTWAIT);
7531@@ -856,13 +859,15 @@ static void conn_action_connsever(fsm_in
7532 static void conn_action_start(fsm_instance *fi, int event, void *arg)
7533 {
7534 struct iucv_connection *conn = arg;
7535+ struct net_device *netdev = conn->netdev;
7536+ struct netiucv_priv *privptr = netdev_priv(netdev);
7537 int rc;
7538
7539 IUCV_DBF_TEXT(trace, 3, __func__);
7540
7541 fsm_newstate(fi, CONN_STATE_STARTWAIT);
7542 IUCV_DBF_TEXT_(setup, 2, "%s('%s'): connecting ...\n",
7543- conn->netdev->name, conn->userid);
7544+ netdev->name, conn->userid);
7545
7546 /*
7547 * We must set the state before calling iucv_connect because the
7548@@ -876,41 +881,45 @@ static void conn_action_start(fsm_instan
7549 NULL, iucvMagic, conn);
7550 switch (rc) {
7551 case 0:
7552- conn->netdev->tx_queue_len = conn->path->msglim;
7553+ netdev->tx_queue_len = conn->path->msglim;
7554 fsm_addtimer(&conn->timer, NETIUCV_TIMEOUT_5SEC,
7555 CONN_EVENT_TIMER, conn);
7556 return;
7557 case 11:
7558- PRINT_INFO("%s: User %s is currently not available.\n",
7559- conn->netdev->name,
7560- netiucv_printname(conn->userid));
7561+ dev_warn(privptr->dev,
7562+ "The IUCV device failed to connect to z/VM guest %s\n",
7563+ netiucv_printname(conn->userid));
7564 fsm_newstate(fi, CONN_STATE_STARTWAIT);
7565 break;
7566 case 12:
7567- PRINT_INFO("%s: User %s is currently not ready.\n",
7568- conn->netdev->name,
7569- netiucv_printname(conn->userid));
7570+ dev_warn(privptr->dev,
7571+ "The IUCV device failed to connect to the peer on z/VM"
7572+ " guest %s\n", netiucv_printname(conn->userid));
7573 fsm_newstate(fi, CONN_STATE_STARTWAIT);
7574 break;
7575 case 13:
7576- PRINT_WARN("%s: Too many IUCV connections.\n",
7577- conn->netdev->name);
7578+ dev_err(privptr->dev,
7579+ "Connecting the IUCV device would exceed the maximum"
7580+ " number of IUCV connections\n");
7581 fsm_newstate(fi, CONN_STATE_CONNERR);
7582 break;
7583 case 14:
7584- PRINT_WARN("%s: User %s has too many IUCV connections.\n",
7585- conn->netdev->name,
7586- netiucv_printname(conn->userid));
7587+ dev_err(privptr->dev,
7588+ "z/VM guest %s has too many IUCV connections"
7589+ " to connect with the IUCV device\n",
7590+ netiucv_printname(conn->userid));
7591 fsm_newstate(fi, CONN_STATE_CONNERR);
7592 break;
7593 case 15:
7594- PRINT_WARN("%s: No IUCV authorization in CP directory.\n",
7595- conn->netdev->name);
7596+ dev_err(privptr->dev,
7597+ "The IUCV device cannot connect to a z/VM guest with no"
7598+ " IUCV authorization\n");
7599 fsm_newstate(fi, CONN_STATE_CONNERR);
7600 break;
7601 default:
7602- PRINT_WARN("%s: iucv_connect returned error %d\n",
7603- conn->netdev->name, rc);
7604+ dev_err(privptr->dev,
7605+ "Connecting the IUCV device failed with error %d\n",
7606+ rc);
7607 fsm_newstate(fi, CONN_STATE_CONNERR);
7608 break;
7609 }
7610@@ -1059,8 +1068,9 @@ dev_action_connup(fsm_instance *fi, int
7611 switch (fsm_getstate(fi)) {
7612 case DEV_STATE_STARTWAIT:
7613 fsm_newstate(fi, DEV_STATE_RUNNING);
7614- PRINT_INFO("%s: connected with remote side %s\n",
7615- dev->name, privptr->conn->userid);
7616+ dev_info(privptr->dev,
7617+ "The IUCV device has been connected"
7618+ " successfully to %s\n", privptr->conn->userid);
7619 IUCV_DBF_TEXT(setup, 3,
7620 "connection is up and running\n");
7621 break;
7622@@ -1982,6 +1992,8 @@ static ssize_t conn_write(struct device_
7623 if (rc)
7624 goto out_unreg;
7625
7626+ dev_info(priv->dev, "The IUCV interface to %s has been"
7627+ " established successfully\n", netiucv_printname(username));
7628
7629 return count;
7630
7631@@ -2027,10 +2039,9 @@ static ssize_t remove_write (struct devi
7632 continue;
7633 read_unlock_bh(&iucv_connection_rwlock);
7634 if (ndev->flags & (IFF_UP | IFF_RUNNING)) {
7635- PRINT_WARN("netiucv: net device %s active with peer "
7636- "%s\n", ndev->name, priv->conn->userid);
7637- PRINT_WARN("netiucv: %s cannot be removed\n",
7638- ndev->name);
7639+ dev_warn(dev, "The IUCV device is connected"
7640+ " to %s and cannot be removed\n",
7641+ priv->conn->userid);
7642 IUCV_DBF_TEXT(data, 2, "remove_write: still active\n");
7643 return -EPERM;
7644 }
7645@@ -2062,7 +2073,7 @@ static struct attribute_group *netiucv_d
7646
7647 static void netiucv_banner(void)
7648 {
7649- PRINT_INFO("NETIUCV driver initialized\n");
7650+ pr_info("driver initialized\n");
7651 }
7652
7653 static void __exit netiucv_exit(void)
7654@@ -2088,7 +2099,7 @@ static void __exit netiucv_exit(void)
7655 iucv_unregister(&netiucv_handler, 1);
7656 iucv_unregister_dbf_views();
7657
7658- PRINT_INFO("NETIUCV driver unloaded\n");
7659+ pr_info("driver unloaded\n");
7660 return;
7661 }
7662
7663--- a/drivers/s390/net/qeth_core.h
7664+++ b/drivers/s390/net/qeth_core.h
7665@@ -34,8 +34,6 @@
7666
7667 #include "qeth_core_mpc.h"
7668
7669-#define KMSG_COMPONENT "qeth"
7670-
7671 /**
7672 * Debug Facility stuff
7673 */
7674@@ -74,11 +72,6 @@ struct qeth_dbf_info {
7675 #define QETH_DBF_TEXT_(name, level, text...) \
7676 qeth_dbf_longtext(QETH_DBF_##name, level, text)
7677
7678-/**
7679- * some more debug stuff
7680- */
7681-#define PRINTK_HEADER "qeth: "
7682-
7683 #define SENSE_COMMAND_REJECT_BYTE 0
7684 #define SENSE_COMMAND_REJECT_FLAG 0x80
7685 #define SENSE_RESETTING_EVENT_BYTE 1
7686--- a/drivers/s390/net/qeth_core_main.c
7687+++ b/drivers/s390/net/qeth_core_main.c
7688@@ -8,6 +8,8 @@
7689 * Frank Blaschka <frank.blaschka@de.ibm.com>
7690 */
7691
7692+#define KMSG_COMPONENT "qeth"
7693+
7694 #include <linux/module.h>
7695 #include <linux/moduleparam.h>
7696 #include <linux/string.h>
7697@@ -319,7 +321,10 @@ static int qeth_issue_next_read(struct q
7698 return -EIO;
7699 iob = qeth_get_buffer(&card->read);
7700 if (!iob) {
7701- PRINT_WARN("issue_next_read failed: no iob available!\n");
7702+ dev_warn(&card->gdev->dev, "The qeth device driver "
7703+ "failed to recover an error on the device\n");
7704+ QETH_DBF_MESSAGE(2, "%s issue_next_read failed: no iob "
7705+ "available\n", dev_name(&card->gdev->dev));
7706 return -ENOMEM;
7707 }
7708 qeth_setup_ccw(&card->read, iob->data, QETH_BUFSIZE);
7709@@ -327,7 +332,8 @@ static int qeth_issue_next_read(struct q
7710 rc = ccw_device_start(card->read.ccwdev, &card->read.ccw,
7711 (addr_t) iob, 0, 0);
7712 if (rc) {
7713- PRINT_ERR("Error in starting next read ccw! rc=%i\n", rc);
7714+ QETH_DBF_MESSAGE(2, "%s error in starting next read ccw! "
7715+ "rc=%i\n", dev_name(&card->gdev->dev), rc);
7716 atomic_set(&card->read.irq_pending, 0);
7717 qeth_schedule_recovery(card);
7718 wake_up(&card->wait_q);
7719@@ -393,10 +399,9 @@ static struct qeth_ipa_cmd *qeth_check_i
7720 } else {
7721 switch (cmd->hdr.command) {
7722 case IPA_CMD_STOPLAN:
7723- PRINT_WARN("Link failure on %s (CHPID 0x%X) - "
7724- "there is a network problem or "
7725- "someone pulled the cable or "
7726- "disabled the port.\n",
7727+ dev_warn(&card->gdev->dev,
7728+ "The link for interface %s on CHPID"
7729+ " 0x%X failed\n",
7730 QETH_CARD_IFNAME(card),
7731 card->info.chpid);
7732 card->lan_online = 0;
7733@@ -404,9 +409,9 @@ static struct qeth_ipa_cmd *qeth_check_i
7734 netif_carrier_off(card->dev);
7735 return NULL;
7736 case IPA_CMD_STARTLAN:
7737- PRINT_INFO("Link reestablished on %s "
7738- "(CHPID 0x%X). Scheduling "
7739- "IP address reset.\n",
7740+ dev_info(&card->gdev->dev,
7741+ "The link for %s on CHPID 0x%X has"
7742+ " been restored\n",
7743 QETH_CARD_IFNAME(card),
7744 card->info.chpid);
7745 netif_carrier_on(card->dev);
7746@@ -458,7 +463,7 @@ static int qeth_check_idx_response(unsig
7747
7748 QETH_DBF_HEX(CTRL, 2, buffer, QETH_DBF_CTRL_LEN);
7749 if ((buffer[2] & 0xc0) == 0xc0) {
7750- PRINT_WARN("received an IDX TERMINATE "
7751+ QETH_DBF_MESSAGE(2, "received an IDX TERMINATE "
7752 "with cause code 0x%02x%s\n",
7753 buffer[4],
7754 ((buffer[4] == 0x22) ?
7755@@ -744,8 +749,10 @@ static int qeth_get_problem(struct ccw_d
7756 SCHN_STAT_CHN_DATA_CHK | SCHN_STAT_CHAIN_CHECK |
7757 SCHN_STAT_PROT_CHECK | SCHN_STAT_PROG_CHECK)) {
7758 QETH_DBF_TEXT(TRACE, 2, "CGENCHK");
7759- PRINT_WARN("check on device %s, dstat=x%x, cstat=x%x ",
7760- cdev->dev.bus_id, dstat, cstat);
7761+ dev_warn(&cdev->dev, "The qeth device driver "
7762+ "failed to recover an error on the device\n");
7763+ QETH_DBF_MESSAGE(2, "%s check on device dstat=x%x, cstat=x%x ",
7764+ dev_name(&cdev->dev), dstat, cstat);
7765 print_hex_dump(KERN_WARNING, "qeth: irb ", DUMP_PREFIX_OFFSET,
7766 16, 1, irb, 64, 1);
7767 return 1;
7768@@ -784,12 +791,14 @@ static long __qeth_check_irb_error(struc
7769
7770 switch (PTR_ERR(irb)) {
7771 case -EIO:
7772- PRINT_WARN("i/o-error on device %s\n", cdev->dev.bus_id);
7773+ QETH_DBF_MESSAGE(2, "%s i/o-error on device\n",
7774+ dev_name(&cdev->dev));
7775 QETH_DBF_TEXT(TRACE, 2, "ckirberr");
7776 QETH_DBF_TEXT_(TRACE, 2, " rc%d", -EIO);
7777 break;
7778 case -ETIMEDOUT:
7779- PRINT_WARN("timeout on device %s\n", cdev->dev.bus_id);
7780+ dev_warn(&cdev->dev, "A hardware operation timed out"
7781+ " on the device\n");
7782 QETH_DBF_TEXT(TRACE, 2, "ckirberr");
7783 QETH_DBF_TEXT_(TRACE, 2, " rc%d", -ETIMEDOUT);
7784 if (intparm == QETH_RCD_PARM) {
7785@@ -802,8 +811,8 @@ static long __qeth_check_irb_error(struc
7786 }
7787 break;
7788 default:
7789- PRINT_WARN("unknown error %ld on device %s\n", PTR_ERR(irb),
7790- cdev->dev.bus_id);
7791+ QETH_DBF_MESSAGE(2, "%s unknown error %ld on device\n",
7792+ dev_name(&cdev->dev), PTR_ERR(irb));
7793 QETH_DBF_TEXT(TRACE, 2, "ckirberr");
7794 QETH_DBF_TEXT(TRACE, 2, " rc???");
7795 }
7796@@ -869,10 +878,12 @@ static void qeth_irq(struct ccw_device *
7797 (dstat & DEV_STAT_UNIT_CHECK) ||
7798 (cstat)) {
7799 if (irb->esw.esw0.erw.cons) {
7800- /* TODO: we should make this s390dbf */
7801- PRINT_WARN("sense data available on channel %s.\n",
7802- CHANNEL_ID(channel));
7803- PRINT_WARN(" cstat 0x%X\n dstat 0x%X\n", cstat, dstat);
7804+ dev_warn(&channel->ccwdev->dev,
7805+ "The qeth device driver failed to recover "
7806+ "an error on the device\n");
7807+ QETH_DBF_MESSAGE(2, "%s sense data available. cstat "
7808+ "0x%X dstat 0x%X\n",
7809+ dev_name(&channel->ccwdev->dev), cstat, dstat);
7810 print_hex_dump(KERN_WARNING, "qeth: irb ",
7811 DUMP_PREFIX_OFFSET, 16, 1, irb, 32, 1);
7812 print_hex_dump(KERN_WARNING, "qeth: sense data ",
7813@@ -1174,8 +1185,8 @@ static int qeth_determine_card_type(stru
7814 card->qdio.no_out_queues = known_devices[i][8];
7815 card->info.is_multicast_different = known_devices[i][9];
7816 if (qeth_is_1920_device(card)) {
7817- PRINT_INFO("Priority Queueing not able "
7818- "due to hardware limitations!\n");
7819+ dev_info(&card->gdev->dev,
7820+ "Priority Queueing not supported\n");
7821 card->qdio.no_out_queues = 1;
7822 card->qdio.default_out_queue = 0;
7823 }
7824@@ -1184,7 +1195,8 @@ static int qeth_determine_card_type(stru
7825 i++;
7826 }
7827 card->info.type = QETH_CARD_TYPE_UNKNOWN;
7828- PRINT_ERR("unknown card type on device %s\n", CARD_BUS_ID(card));
7829+ dev_err(&card->gdev->dev, "The adapter hardware is of an "
7830+ "unknown type\n");
7831 return -ENOENT;
7832 }
7833
7834@@ -1367,8 +1379,8 @@ static int qeth_get_unitaddr(struct qeth
7835 QETH_DBF_TEXT(SETUP, 2, "getunit");
7836 rc = qeth_read_conf_data(card, (void **) &prcd, &length);
7837 if (rc) {
7838- PRINT_ERR("qeth_read_conf_data for device %s returned %i\n",
7839- CARD_DDEV_ID(card), rc);
7840+ QETH_DBF_MESSAGE(2, "%s qeth_read_conf_data returned %i\n",
7841+ dev_name(&card->gdev->dev), rc);
7842 return rc;
7843 }
7844 card->info.chpid = prcd[30];
7845@@ -1518,7 +1530,10 @@ static int qeth_idx_activate_channel(str
7846 if (rc == -ERESTARTSYS)
7847 return rc;
7848 if (channel->state != CH_STATE_ACTIVATING) {
7849- PRINT_WARN("IDX activate timed out!\n");
7850+ dev_warn(&channel->ccwdev->dev, "The qeth device driver"
7851+ " failed to recover an error on the device\n");
7852+ QETH_DBF_MESSAGE(2, "%s IDX activate timed out\n",
7853+ dev_name(&channel->ccwdev->dev));
7854 QETH_DBF_TEXT_(SETUP, 2, "2err%d", -ETIME);
7855 qeth_clear_cmd_buffers(channel);
7856 return -ETIME;
7857@@ -1551,20 +1566,21 @@ static void qeth_idx_write_cb(struct qet
7858
7859 if (!(QETH_IS_IDX_ACT_POS_REPLY(iob->data))) {
7860 if (QETH_IDX_ACT_CAUSE_CODE(iob->data) == 0x19)
7861- PRINT_ERR("IDX_ACTIVATE on write channel device %s: "
7862- "adapter exclusively used by another host\n",
7863- CARD_WDEV_ID(card));
7864+ dev_err(&card->write.ccwdev->dev,
7865+ "The adapter is used exclusively by another "
7866+ "host\n");
7867 else
7868- PRINT_ERR("IDX_ACTIVATE on write channel device %s: "
7869- "negative reply\n", CARD_WDEV_ID(card));
7870+ QETH_DBF_MESSAGE(2, "%s IDX_ACTIVATE on write channel:"
7871+ " negative reply\n",
7872+ dev_name(&card->write.ccwdev->dev));
7873 goto out;
7874 }
7875 memcpy(&temp, QETH_IDX_ACT_FUNC_LEVEL(iob->data), 2);
7876 if ((temp & ~0x0100) != qeth_peer_func_level(card->info.func_level)) {
7877- PRINT_WARN("IDX_ACTIVATE on write channel device %s: "
7878- "function level mismatch "
7879- "(sent: 0x%x, received: 0x%x)\n",
7880- CARD_WDEV_ID(card), card->info.func_level, temp);
7881+ QETH_DBF_MESSAGE(2, "%s IDX_ACTIVATE on write channel: "
7882+ "function level mismatch (sent: 0x%x, received: "
7883+ "0x%x)\n", dev_name(&card->write.ccwdev->dev),
7884+ card->info.func_level, temp);
7885 goto out;
7886 }
7887 channel->state = CH_STATE_UP;
7888@@ -1590,12 +1606,13 @@ static void qeth_idx_read_cb(struct qeth
7889
7890 if (!(QETH_IS_IDX_ACT_POS_REPLY(iob->data))) {
7891 if (QETH_IDX_ACT_CAUSE_CODE(iob->data) == 0x19)
7892- PRINT_ERR("IDX_ACTIVATE on read channel device %s: "
7893- "adapter exclusively used by another host\n",
7894- CARD_RDEV_ID(card));
7895+ dev_err(&card->write.ccwdev->dev,
7896+ "The adapter is used exclusively by another "
7897+ "host\n");
7898 else
7899- PRINT_ERR("IDX_ACTIVATE on read channel device %s: "
7900- "negative reply\n", CARD_RDEV_ID(card));
7901+ QETH_DBF_MESSAGE(2, "%s IDX_ACTIVATE on read channel:"
7902+ " negative reply\n",
7903+ dev_name(&card->read.ccwdev->dev));
7904 goto out;
7905 }
7906
7907@@ -1609,9 +1626,10 @@ static void qeth_idx_read_cb(struct qeth
7908
7909 memcpy(&temp, QETH_IDX_ACT_FUNC_LEVEL(iob->data), 2);
7910 if (temp != qeth_peer_func_level(card->info.func_level)) {
7911- PRINT_WARN("IDX_ACTIVATE on read channel device %s: function "
7912- "level mismatch (sent: 0x%x, received: 0x%x)\n",
7913- CARD_RDEV_ID(card), card->info.func_level, temp);
7914+ QETH_DBF_MESSAGE(2, "%s IDX_ACTIVATE on read channel: function "
7915+ "level mismatch (sent: 0x%x, received: 0x%x)\n",
7916+ dev_name(&card->read.ccwdev->dev),
7917+ card->info.func_level, temp);
7918 goto out;
7919 }
7920 memcpy(&card->token.issuer_rm_r,
7921@@ -1685,8 +1703,9 @@ int qeth_send_control_data(struct qeth_c
7922 (addr_t) iob, 0, 0);
7923 spin_unlock_irqrestore(get_ccwdev_lock(card->write.ccwdev), flags);
7924 if (rc) {
7925- PRINT_WARN("qeth_send_control_data: "
7926- "ccw_device_start rc = %i\n", rc);
7927+ QETH_DBF_MESSAGE(2, "%s qeth_send_control_data: "
7928+ "ccw_device_start rc = %i\n",
7929+ dev_name(&card->write.ccwdev->dev), rc);
7930 QETH_DBF_TEXT_(TRACE, 2, " err%d", rc);
7931 spin_lock_irqsave(&card->lock, flags);
7932 list_del_init(&reply->list);
7933@@ -2169,11 +2188,8 @@ static void qeth_print_status_with_portn
7934 dbf_text[i] =
7935 (char) _ebcasc[(__u8) dbf_text[i]];
7936 dbf_text[8] = 0;
7937- PRINT_INFO("Device %s/%s/%s is a%s card%s%s%s\n"
7938+ dev_info(&card->gdev->dev, "Device is a%s card%s%s%s\n"
7939 "with link type %s (portname: %s)\n",
7940- CARD_RDEV_ID(card),
7941- CARD_WDEV_ID(card),
7942- CARD_DDEV_ID(card),
7943 qeth_get_cardname(card),
7944 (card->info.mcl_level[0]) ? " (level: " : "",
7945 (card->info.mcl_level[0]) ? card->info.mcl_level : "",
7946@@ -2186,23 +2202,17 @@ static void qeth_print_status_with_portn
7947 static void qeth_print_status_no_portname(struct qeth_card *card)
7948 {
7949 if (card->info.portname[0])
7950- PRINT_INFO("Device %s/%s/%s is a%s "
7951+ dev_info(&card->gdev->dev, "Device is a%s "
7952 "card%s%s%s\nwith link type %s "
7953 "(no portname needed by interface).\n",
7954- CARD_RDEV_ID(card),
7955- CARD_WDEV_ID(card),
7956- CARD_DDEV_ID(card),
7957 qeth_get_cardname(card),
7958 (card->info.mcl_level[0]) ? " (level: " : "",
7959 (card->info.mcl_level[0]) ? card->info.mcl_level : "",
7960 (card->info.mcl_level[0]) ? ")" : "",
7961 qeth_get_cardname_short(card));
7962 else
7963- PRINT_INFO("Device %s/%s/%s is a%s "
7964+ dev_info(&card->gdev->dev, "Device is a%s "
7965 "card%s%s%s\nwith link type %s.\n",
7966- CARD_RDEV_ID(card),
7967- CARD_WDEV_ID(card),
7968- CARD_DDEV_ID(card),
7969 qeth_get_cardname(card),
7970 (card->info.mcl_level[0]) ? " (level: " : "",
7971 (card->info.mcl_level[0]) ? card->info.mcl_level : "",
7972@@ -2629,9 +2639,8 @@ void qeth_queue_input_buffer(struct qeth
7973 qeth_get_micros() -
7974 card->perf_stats.inbound_do_qdio_start_time;
7975 if (rc) {
7976- PRINT_WARN("qeth_queue_input_buffer's do_QDIO "
7977- "return %i (device %s).\n",
7978- rc, CARD_DDEV_ID(card));
7979+ dev_warn(&card->gdev->dev,
7980+ "QDIO reported an error, rc=%i\n", rc);
7981 QETH_DBF_TEXT(TRACE, 2, "qinberr");
7982 QETH_DBF_TEXT_(TRACE, 2, "%s", CARD_BUS_ID(card));
7983 }
7984@@ -3764,7 +3773,8 @@ int qeth_core_hardsetup_card(struct qeth
7985 atomic_set(&card->force_alloc_skb, 0);
7986 retry:
7987 if (retries < 3) {
7988- PRINT_WARN("Retrying to do IDX activates.\n");
7989+ QETH_DBF_MESSAGE(2, "%s Retrying to do IDX activates.\n",
7990+ dev_name(&card->gdev->dev));
7991 ccw_device_set_offline(CARD_DDEV(card));
7992 ccw_device_set_offline(CARD_WDEV(card));
7993 ccw_device_set_offline(CARD_RDEV(card));
7994@@ -3832,7 +3842,10 @@ retry:
7995 }
7996 return 0;
7997 out:
7998- PRINT_ERR("Initialization in hardsetup failed! rc=%d\n", rc);
7999+ dev_warn(&card->gdev->dev, "The qeth device driver failed to recover "
8000+ "an error on the device\n");
8001+ QETH_DBF_MESSAGE(2, "%s Initialization in hardsetup failed! rc=%d\n",
8002+ dev_name(&card->gdev->dev), rc);
8003 return rc;
8004 }
8005 EXPORT_SYMBOL_GPL(qeth_core_hardsetup_card);
8006@@ -4052,8 +4065,8 @@ int qeth_core_load_discipline(struct qet
8007 break;
8008 }
8009 if (!card->discipline.ccwgdriver) {
8010- PRINT_ERR("Support for discipline %d not present\n",
8011- discipline);
8012+ dev_err(&card->gdev->dev, "There is no kernel module to "
8013+ "support discipline %d\n", discipline);
8014 rc = -EINVAL;
8015 }
8016 return rc;
8017@@ -4445,7 +4458,7 @@ static int __init qeth_core_init(void)
8018 {
8019 int rc;
8020
8021- PRINT_INFO("loading core functions\n");
8022+ pr_info("loading core functions\n");
8023 INIT_LIST_HEAD(&qeth_core_card_list.list);
8024 rwlock_init(&qeth_core_card_list.rwlock);
8025
8026@@ -4485,9 +4498,10 @@ driver_err:
8027 ccwgroup_err:
8028 ccw_driver_unregister(&qeth_ccw_driver);
8029 ccw_err:
8030+ QETH_DBF_MESSAGE(2, "Initialization failed with code %d\n", rc);
8031 qeth_unregister_dbf_views();
8032 out_err:
8033- PRINT_ERR("Initialization failed with code %d\n", rc);
8034+ pr_err("Initializing the qeth device driver failed\n");
8035 return rc;
8036 }
8037
8038@@ -4500,7 +4514,7 @@ static void __exit qeth_core_exit(void)
8039 ccw_driver_unregister(&qeth_ccw_driver);
8040 kmem_cache_destroy(qeth_core_header_cache);
8041 qeth_unregister_dbf_views();
8042- PRINT_INFO("core functions removed\n");
8043+ pr_info("core functions removed\n");
8044 }
8045
8046 module_init(qeth_core_init);
8047--- a/drivers/s390/net/qeth_l2_main.c
8048+++ b/drivers/s390/net/qeth_l2_main.c
8049@@ -8,6 +8,8 @@
8050 * Frank Blaschka <frank.blaschka@de.ibm.com>
8051 */
8052
8053+#define KMSG_COMPONENT "qeth"
8054+
8055 #include <linux/module.h>
8056 #include <linux/moduleparam.h>
8057 #include <linux/string.h>
8058@@ -501,12 +503,13 @@ static int qeth_l2_send_setmac_cb(struct
8059 card->info.mac_bits |= QETH_LAYER2_MAC_REGISTERED;
8060 memcpy(card->dev->dev_addr, cmd->data.setdelmac.mac,
8061 OSA_ADDR_LEN);
8062- PRINT_INFO("MAC address %2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x "
8063- "successfully registered on device %s\n",
8064- card->dev->dev_addr[0], card->dev->dev_addr[1],
8065- card->dev->dev_addr[2], card->dev->dev_addr[3],
8066- card->dev->dev_addr[4], card->dev->dev_addr[5],
8067- card->dev->name);
8068+ dev_info(&card->gdev->dev,
8069+ "MAC address %2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x "
8070+ "successfully registered on device %s\n",
8071+ card->dev->dev_addr[0], card->dev->dev_addr[1],
8072+ card->dev->dev_addr[2], card->dev->dev_addr[3],
8073+ card->dev->dev_addr[4], card->dev->dev_addr[5],
8074+ card->dev->name);
8075 }
8076 return 0;
8077 }
8078@@ -976,8 +979,6 @@ static int __qeth_l2_set_online(struct c
8079
8080 qeth_set_allowed_threads(card, QETH_RECOVER_THREAD, 1);
8081 if (qeth_wait_for_threads(card, ~QETH_RECOVER_THREAD)) {
8082- PRINT_WARN("set_online of card %s interrupted by user!\n",
8083- CARD_BUS_ID(card));
8084 return -ERESTARTSYS;
8085 }
8086
8087@@ -1020,9 +1021,8 @@ static int __qeth_l2_set_online(struct c
8088 if (rc) {
8089 QETH_DBF_TEXT_(SETUP, 2, "1err%d", rc);
8090 if (rc == 0xe080) {
8091- PRINT_WARN("LAN on card %s if offline! "
8092- "Waiting for STARTLAN from card.\n",
8093- CARD_BUS_ID(card));
8094+ dev_warn(&card->gdev->dev,
8095+ "The LAN is offline\n");
8096 card->lan_online = 0;
8097 }
8098 return rc;
8099@@ -1092,8 +1092,6 @@ static int __qeth_l2_set_offline(struct
8100 netif_carrier_off(card->dev);
8101 recover_flag = card->state;
8102 if (qeth_l2_stop_card(card, recovery_mode) == -ERESTARTSYS) {
8103- PRINT_WARN("Stopping card %s interrupted by user!\n",
8104- CARD_BUS_ID(card));
8105 return -ERESTARTSYS;
8106 }
8107 rc = ccw_device_set_offline(CARD_DDEV(card));
8108@@ -1126,8 +1124,8 @@ static int qeth_l2_recover(void *ptr)
8109 if (!qeth_do_run_thread(card, QETH_RECOVER_THREAD))
8110 return 0;
8111 QETH_DBF_TEXT(TRACE, 2, "recover2");
8112- PRINT_WARN("Recovery of device %s started ...\n",
8113- CARD_BUS_ID(card));
8114+ dev_warn(&card->gdev->dev,
8115+ "A recovery process has been started for the device\n");
8116 card->use_hard_stop = 1;
8117 __qeth_l2_set_offline(card->gdev, 1);
8118 rc = __qeth_l2_set_online(card->gdev, 1);
8119@@ -1135,23 +1133,23 @@ static int qeth_l2_recover(void *ptr)
8120 qeth_clear_thread_start_bit(card, QETH_RECOVER_THREAD);
8121 qeth_clear_thread_running_bit(card, QETH_RECOVER_THREAD);
8122 if (!rc)
8123- PRINT_INFO("Device %s successfully recovered!\n",
8124- CARD_BUS_ID(card));
8125+ dev_info(&card->gdev->dev,
8126+ "Device successfully recovered!\n");
8127 else
8128- PRINT_INFO("Device %s could not be recovered!\n",
8129- CARD_BUS_ID(card));
8130+ dev_warn(&card->gdev->dev, "The qeth device driver "
8131+ "failed to recover an error on the device\n");
8132 return 0;
8133 }
8134
8135 static int __init qeth_l2_init(void)
8136 {
8137- PRINT_INFO("register layer 2 discipline\n");
8138+ pr_info("register layer 2 discipline\n");
8139 return 0;
8140 }
8141
8142 static void __exit qeth_l2_exit(void)
8143 {
8144- PRINT_INFO("unregister layer 2 discipline\n");
8145+ pr_info("unregister layer 2 discipline\n");
8146 }
8147
8148 static void qeth_l2_shutdown(struct ccwgroup_device *gdev)
8149--- a/drivers/s390/net/qeth_l3_main.c
8150+++ b/drivers/s390/net/qeth_l3_main.c
8151@@ -8,6 +8,8 @@
8152 * Frank Blaschka <frank.blaschka@de.ibm.com>
8153 */
8154
8155+#define KMSG_COMPONENT "qeth"
8156+
8157 #include <linux/module.h>
8158 #include <linux/moduleparam.h>
8159 #include <linux/string.h>
8160@@ -917,8 +919,8 @@ static int qeth_l3_register_addr_entry(s
8161 if (rc) {
8162 QETH_DBF_TEXT(TRACE, 2, "FAILED");
8163 qeth_l3_ipaddr_to_string(addr->proto, (u8 *)&addr->u, buf);
8164- PRINT_WARN("Could not register IP address %s (rc=0x%x/%d)\n",
8165- buf, rc, rc);
8166+ dev_warn(&card->gdev->dev,
8167+ "Registering IP address %s failed\n", buf);
8168 }
8169 return rc;
8170 }
8171@@ -1029,24 +1031,22 @@ static int qeth_l3_setadapter_parms(stru
8172 QETH_DBF_TEXT(SETUP, 2, "setadprm");
8173
8174 if (!qeth_is_supported(card, IPA_SETADAPTERPARMS)) {
8175- PRINT_WARN("set adapter parameters not supported "
8176- "on device %s.\n",
8177- CARD_BUS_ID(card));
8178+ dev_info(&card->gdev->dev,
8179+ "set adapter parameters not supported.\n");
8180 QETH_DBF_TEXT(SETUP, 2, " notsupp");
8181 return 0;
8182 }
8183 rc = qeth_query_setadapterparms(card);
8184 if (rc) {
8185- PRINT_WARN("couldn't set adapter parameters on device %s: "
8186- "x%x\n", CARD_BUS_ID(card), rc);
8187+ QETH_DBF_MESSAGE(2, "%s couldn't set adapter parameters: "
8188+ "0x%x\n", card->gdev->dev.bus_id, rc);
8189 return rc;
8190 }
8191 if (qeth_adp_supported(card, IPA_SETADP_ALTER_MAC_ADDRESS)) {
8192 rc = qeth_setadpparms_change_macaddr(card);
8193 if (rc)
8194- PRINT_WARN("couldn't get MAC address on "
8195- "device %s: x%x\n",
8196- CARD_BUS_ID(card), rc);
8197+ dev_warn(&card->gdev->dev, "Reading the adapter MAC"
8198+ " address failed\n", rc);
8199 }
8200
8201 if ((card->info.link_type == QETH_LINK_TYPE_HSTR) ||
8202@@ -1160,16 +1160,17 @@ static int qeth_l3_start_ipa_arp_process
8203 QETH_DBF_TEXT(TRACE, 3, "ipaarp");
8204
8205 if (!qeth_is_supported(card, IPA_ARP_PROCESSING)) {
8206- PRINT_WARN("ARP processing not supported "
8207- "on %s!\n", QETH_CARD_IFNAME(card));
8208+ dev_info(&card->gdev->dev,
8209+ "ARP processing not supported on %s!\n",
8210+ QETH_CARD_IFNAME(card));
8211 return 0;
8212 }
8213 rc = qeth_l3_send_simple_setassparms(card, IPA_ARP_PROCESSING,
8214 IPA_CMD_ASS_START, 0);
8215 if (rc) {
8216- PRINT_WARN("Could not start ARP processing "
8217- "assist on %s: 0x%x\n",
8218- QETH_CARD_IFNAME(card), rc);
8219+ dev_warn(&card->gdev->dev,
8220+ "Starting ARP processing support for %s failed\n",
8221+ QETH_CARD_IFNAME(card));
8222 }
8223 return rc;
8224 }
8225@@ -1181,19 +1182,21 @@ static int qeth_l3_start_ipa_ip_fragment
8226 QETH_DBF_TEXT(TRACE, 3, "ipaipfrg");
8227
8228 if (!qeth_is_supported(card, IPA_IP_FRAGMENTATION)) {
8229- PRINT_INFO("Hardware IP fragmentation not supported on %s\n",
8230- QETH_CARD_IFNAME(card));
8231+ dev_info(&card->gdev->dev,
8232+ "Hardware IP fragmentation not supported on %s\n",
8233+ QETH_CARD_IFNAME(card));
8234 return -EOPNOTSUPP;
8235 }
8236
8237 rc = qeth_l3_send_simple_setassparms(card, IPA_IP_FRAGMENTATION,
8238 IPA_CMD_ASS_START, 0);
8239 if (rc) {
8240- PRINT_WARN("Could not start Hardware IP fragmentation "
8241- "assist on %s: 0x%x\n",
8242- QETH_CARD_IFNAME(card), rc);
8243+ dev_warn(&card->gdev->dev,
8244+ "Starting IP fragmentation support for %s failed\n",
8245+ QETH_CARD_IFNAME(card));
8246 } else
8247- PRINT_INFO("Hardware IP fragmentation enabled \n");
8248+ dev_info(&card->gdev->dev,
8249+ "Hardware IP fragmentation enabled \n");
8250 return rc;
8251 }
8252
8253@@ -1207,17 +1210,18 @@ static int qeth_l3_start_ipa_source_mac(
8254 return -EOPNOTSUPP;
8255
8256 if (!qeth_is_supported(card, IPA_SOURCE_MAC)) {
8257- PRINT_INFO("Inbound source address not "
8258- "supported on %s\n", QETH_CARD_IFNAME(card));
8259+ dev_info(&card->gdev->dev,
8260+ "Inbound source address not supported on %s\n",
8261+ QETH_CARD_IFNAME(card));
8262 return -EOPNOTSUPP;
8263 }
8264
8265 rc = qeth_l3_send_simple_setassparms(card, IPA_SOURCE_MAC,
8266 IPA_CMD_ASS_START, 0);
8267 if (rc)
8268- PRINT_WARN("Could not start inbound source "
8269- "assist on %s: 0x%x\n",
8270- QETH_CARD_IFNAME(card), rc);
8271+ dev_warn(&card->gdev->dev,
8272+ "Starting proxy ARP support for %s failed\n",
8273+ QETH_CARD_IFNAME(card));
8274 return rc;
8275 }
8276
8277@@ -1228,19 +1232,19 @@ static int qeth_l3_start_ipa_vlan(struct
8278 QETH_DBF_TEXT(TRACE, 3, "strtvlan");
8279
8280 if (!qeth_is_supported(card, IPA_FULL_VLAN)) {
8281- PRINT_WARN("VLAN not supported on %s\n",
8282- QETH_CARD_IFNAME(card));
8283+ dev_info(&card->gdev->dev,
8284+ "VLAN not supported on %s\n", QETH_CARD_IFNAME(card));
8285 return -EOPNOTSUPP;
8286 }
8287
8288 rc = qeth_l3_send_simple_setassparms(card, IPA_VLAN_PRIO,
8289 IPA_CMD_ASS_START, 0);
8290 if (rc) {
8291- PRINT_WARN("Could not start vlan "
8292- "assist on %s: 0x%x\n",
8293- QETH_CARD_IFNAME(card), rc);
8294+ dev_warn(&card->gdev->dev,
8295+ "Starting VLAN support for %s failed\n",
8296+ QETH_CARD_IFNAME(card));
8297 } else {
8298- PRINT_INFO("VLAN enabled \n");
8299+ dev_info(&card->gdev->dev, "VLAN enabled\n");
8300 }
8301 return rc;
8302 }
8303@@ -1252,19 +1256,20 @@ static int qeth_l3_start_ipa_multicast(s
8304 QETH_DBF_TEXT(TRACE, 3, "stmcast");
8305
8306 if (!qeth_is_supported(card, IPA_MULTICASTING)) {
8307- PRINT_WARN("Multicast not supported on %s\n",
8308- QETH_CARD_IFNAME(card));
8309+ dev_info(&card->gdev->dev,
8310+ "Multicast not supported on %s\n",
8311+ QETH_CARD_IFNAME(card));
8312 return -EOPNOTSUPP;
8313 }
8314
8315 rc = qeth_l3_send_simple_setassparms(card, IPA_MULTICASTING,
8316 IPA_CMD_ASS_START, 0);
8317 if (rc) {
8318- PRINT_WARN("Could not start multicast "
8319- "assist on %s: rc=%i\n",
8320- QETH_CARD_IFNAME(card), rc);
8321+ dev_warn(&card->gdev->dev,
8322+ "Starting multicast support for %s failed\n",
8323+ QETH_CARD_IFNAME(card));
8324 } else {
8325- PRINT_INFO("Multicast enabled\n");
8326+ dev_info(&card->gdev->dev, "Multicast enabled\n");
8327 card->dev->flags |= IFF_MULTICAST;
8328 }
8329 return rc;
8330@@ -1315,36 +1320,37 @@ static int qeth_l3_softsetup_ipv6(struct
8331
8332 rc = qeth_l3_query_ipassists(card, QETH_PROT_IPV6);
8333 if (rc) {
8334- PRINT_ERR("IPv6 query ipassist failed on %s\n",
8335- QETH_CARD_IFNAME(card));
8336+ dev_warn(&card->gdev->dev,
8337+ "Activating IPv6 support for %s failed\n",
8338+ QETH_CARD_IFNAME(card));
8339 return rc;
8340 }
8341 rc = qeth_l3_send_simple_setassparms(card, IPA_IPV6,
8342 IPA_CMD_ASS_START, 3);
8343 if (rc) {
8344- PRINT_WARN("IPv6 start assist (version 4) failed "
8345- "on %s: 0x%x\n",
8346- QETH_CARD_IFNAME(card), rc);
8347+ dev_warn(&card->gdev->dev,
8348+ "Activating IPv6 support for %s failed\n",
8349+ QETH_CARD_IFNAME(card));
8350 return rc;
8351 }
8352 rc = qeth_l3_send_simple_setassparms_ipv6(card, IPA_IPV6,
8353 IPA_CMD_ASS_START);
8354 if (rc) {
8355- PRINT_WARN("IPV6 start assist (version 6) failed "
8356- "on %s: 0x%x\n",
8357- QETH_CARD_IFNAME(card), rc);
8358+ dev_warn(&card->gdev->dev,
8359+ "Activating IPv6 support for %s failed\n",
8360+ QETH_CARD_IFNAME(card));
8361 return rc;
8362 }
8363 rc = qeth_l3_send_simple_setassparms_ipv6(card, IPA_PASSTHRU,
8364 IPA_CMD_ASS_START);
8365 if (rc) {
8366- PRINT_WARN("Could not enable passthrough "
8367- "on %s: 0x%x\n",
8368- QETH_CARD_IFNAME(card), rc);
8369+ dev_warn(&card->gdev->dev,
8370+ "Enabling the passthrough mode for %s failed\n",
8371+ QETH_CARD_IFNAME(card));
8372 return rc;
8373 }
8374 out:
8375- PRINT_INFO("IPV6 enabled \n");
8376+ dev_info(&card->gdev->dev, "IPV6 enabled\n");
8377 return 0;
8378 }
8379 #endif
8380@@ -1356,8 +1362,8 @@ static int qeth_l3_start_ipa_ipv6(struct
8381 QETH_DBF_TEXT(TRACE, 3, "strtipv6");
8382
8383 if (!qeth_is_supported(card, IPA_IPV6)) {
8384- PRINT_WARN("IPv6 not supported on %s\n",
8385- QETH_CARD_IFNAME(card));
8386+ dev_info(&card->gdev->dev,
8387+ "IPv6 not supported on %s\n", QETH_CARD_IFNAME(card));
8388 return 0;
8389 }
8390 #ifdef CONFIG_QETH_IPV6
8391@@ -1373,34 +1379,35 @@ static int qeth_l3_start_ipa_broadcast(s
8392 QETH_DBF_TEXT(TRACE, 3, "stbrdcst");
8393 card->info.broadcast_capable = 0;
8394 if (!qeth_is_supported(card, IPA_FILTERING)) {
8395- PRINT_WARN("Broadcast not supported on %s\n",
8396- QETH_CARD_IFNAME(card));
8397+ dev_info(&card->gdev->dev,
8398+ "Broadcast not supported on %s\n",
8399+ QETH_CARD_IFNAME(card));
8400 rc = -EOPNOTSUPP;
8401 goto out;
8402 }
8403 rc = qeth_l3_send_simple_setassparms(card, IPA_FILTERING,
8404 IPA_CMD_ASS_START, 0);
8405 if (rc) {
8406- PRINT_WARN("Could not enable broadcasting filtering "
8407- "on %s: 0x%x\n",
8408- QETH_CARD_IFNAME(card), rc);
8409+ dev_warn(&card->gdev->dev, "Enabling broadcast filtering for "
8410+ "%s failed\n", QETH_CARD_IFNAME(card));
8411 goto out;
8412 }
8413
8414 rc = qeth_l3_send_simple_setassparms(card, IPA_FILTERING,
8415 IPA_CMD_ASS_CONFIGURE, 1);
8416 if (rc) {
8417- PRINT_WARN("Could not set up broadcast filtering on %s: 0x%x\n",
8418- QETH_CARD_IFNAME(card), rc);
8419+ dev_warn(&card->gdev->dev,
8420+ "Setting up broadcast filtering for %s failed\n",
8421+ QETH_CARD_IFNAME(card));
8422 goto out;
8423 }
8424 card->info.broadcast_capable = QETH_BROADCAST_WITH_ECHO;
8425- PRINT_INFO("Broadcast enabled \n");
8426+ dev_info(&card->gdev->dev, "Broadcast enabled\n");
8427 rc = qeth_l3_send_simple_setassparms(card, IPA_FILTERING,
8428 IPA_CMD_ASS_ENABLE, 1);
8429 if (rc) {
8430- PRINT_WARN("Could not set up broadcast echo filtering on "
8431- "%s: 0x%x\n", QETH_CARD_IFNAME(card), rc);
8432+ dev_warn(&card->gdev->dev, "Setting up broadcast echo "
8433+ "filtering for %s failed\n", QETH_CARD_IFNAME(card));
8434 goto out;
8435 }
8436 card->info.broadcast_capable = QETH_BROADCAST_WITHOUT_ECHO;
8437@@ -1419,18 +1426,18 @@ static int qeth_l3_send_checksum_command
8438 rc = qeth_l3_send_simple_setassparms(card, IPA_INBOUND_CHECKSUM,
8439 IPA_CMD_ASS_START, 0);
8440 if (rc) {
8441- PRINT_WARN("Starting Inbound HW Checksumming failed on %s: "
8442- "0x%x,\ncontinuing using Inbound SW Checksumming\n",
8443- QETH_CARD_IFNAME(card), rc);
8444+ dev_warn(&card->gdev->dev, "Starting HW checksumming for %s "
8445+ "failed, using SW checksumming\n",
8446+ QETH_CARD_IFNAME(card));
8447 return rc;
8448 }
8449 rc = qeth_l3_send_simple_setassparms(card, IPA_INBOUND_CHECKSUM,
8450 IPA_CMD_ASS_ENABLE,
8451 card->info.csum_mask);
8452 if (rc) {
8453- PRINT_WARN("Enabling Inbound HW Checksumming failed on %s: "
8454- "0x%x,\ncontinuing using Inbound SW Checksumming\n",
8455- QETH_CARD_IFNAME(card), rc);
8456+ dev_warn(&card->gdev->dev, "Enabling HW checksumming for %s "
8457+ "failed, using SW checksumming\n",
8458+ QETH_CARD_IFNAME(card));
8459 return rc;
8460 }
8461 return 0;
8462@@ -1443,26 +1450,30 @@ static int qeth_l3_start_ipa_checksum(st
8463 QETH_DBF_TEXT(TRACE, 3, "strtcsum");
8464
8465 if (card->options.checksum_type == NO_CHECKSUMMING) {
8466- PRINT_WARN("Using no checksumming on %s.\n",
8467- QETH_CARD_IFNAME(card));
8468+ dev_info(&card->gdev->dev,
8469+ "Using no checksumming on %s.\n",
8470+ QETH_CARD_IFNAME(card));
8471 return 0;
8472 }
8473 if (card->options.checksum_type == SW_CHECKSUMMING) {
8474- PRINT_WARN("Using SW checksumming on %s.\n",
8475- QETH_CARD_IFNAME(card));
8476+ dev_info(&card->gdev->dev,
8477+ "Using SW checksumming on %s.\n",
8478+ QETH_CARD_IFNAME(card));
8479 return 0;
8480 }
8481 if (!qeth_is_supported(card, IPA_INBOUND_CHECKSUM)) {
8482- PRINT_WARN("Inbound HW Checksumming not "
8483- "supported on %s,\ncontinuing "
8484- "using Inbound SW Checksumming\n",
8485- QETH_CARD_IFNAME(card));
8486+ dev_info(&card->gdev->dev,
8487+ "Inbound HW Checksumming not "
8488+ "supported on %s,\ncontinuing "
8489+ "using Inbound SW Checksumming\n",
8490+ QETH_CARD_IFNAME(card));
8491 card->options.checksum_type = SW_CHECKSUMMING;
8492 return 0;
8493 }
8494 rc = qeth_l3_send_checksum_command(card);
8495 if (!rc)
8496- PRINT_INFO("HW Checksumming (inbound) enabled \n");
8497+ dev_info(&card->gdev->dev,
8498+ "HW Checksumming (inbound) enabled\n");
8499
8500 return rc;
8501 }
8502@@ -1474,18 +1485,20 @@ static int qeth_l3_start_ipa_tso(struct
8503 QETH_DBF_TEXT(TRACE, 3, "sttso");
8504
8505 if (!qeth_is_supported(card, IPA_OUTBOUND_TSO)) {
8506- PRINT_WARN("Outbound TSO not supported on %s\n",
8507- QETH_CARD_IFNAME(card));
8508+ dev_info(&card->gdev->dev,
8509+ "Outbound TSO not supported on %s\n",
8510+ QETH_CARD_IFNAME(card));
8511 rc = -EOPNOTSUPP;
8512 } else {
8513 rc = qeth_l3_send_simple_setassparms(card, IPA_OUTBOUND_TSO,
8514 IPA_CMD_ASS_START, 0);
8515 if (rc)
8516- PRINT_WARN("Could not start outbound TSO "
8517- "assist on %s: rc=%i\n",
8518- QETH_CARD_IFNAME(card), rc);
8519+ dev_warn(&card->gdev->dev, "Starting outbound TCP "
8520+ "segmentation offload for %s failed\n",
8521+ QETH_CARD_IFNAME(card));
8522 else
8523- PRINT_INFO("Outbound TSO enabled\n");
8524+ dev_info(&card->gdev->dev,
8525+ "Outbound TSO enabled\n");
8526 }
8527 if (rc && (card->options.large_send == QETH_LARGE_SEND_TSO)) {
8528 card->options.large_send = QETH_LARGE_SEND_NO;
8529@@ -1578,12 +1591,8 @@ static int qeth_l3_get_unique_id_cb(stru
8530 else {
8531 card->info.unique_id = UNIQUE_ID_IF_CREATE_ADDR_FAILED |
8532 UNIQUE_ID_NOT_BY_CARD;
8533- PRINT_WARN("couldn't get a unique id from the card on device "
8534- "%s (result=x%x), using default id. ipv6 "
8535- "autoconfig on other lpars may lead to duplicate "
8536- "ip addresses. please use manually "
8537- "configured ones.\n",
8538- CARD_BUS_ID(card), cmd->hdr.return_code);
8539+ dev_warn(&card->gdev->dev, "The network adapter failed to "
8540+ "generate a unique ID\n");
8541 }
8542 return 0;
8543 }
8544@@ -3052,8 +3061,6 @@ static int __qeth_l3_set_online(struct c
8545
8546 qeth_set_allowed_threads(card, QETH_RECOVER_THREAD, 1);
8547 if (qeth_wait_for_threads(card, ~QETH_RECOVER_THREAD)) {
8548- PRINT_WARN("set_online of card %s interrupted by user!\n",
8549- CARD_BUS_ID(card));
8550 return -ERESTARTSYS;
8551 }
8552
8553@@ -3095,9 +3102,8 @@ static int __qeth_l3_set_online(struct c
8554 if (rc) {
8555 QETH_DBF_TEXT_(SETUP, 2, "1err%d", rc);
8556 if (rc == 0xe080) {
8557- PRINT_WARN("LAN on card %s if offline! "
8558- "Waiting for STARTLAN from card.\n",
8559- CARD_BUS_ID(card));
8560+ dev_warn(&card->gdev->dev,
8561+ "The LAN is offline\n");
8562 card->lan_online = 0;
8563 }
8564 return rc;
8565@@ -3173,8 +3179,6 @@ static int __qeth_l3_set_offline(struct
8566 netif_carrier_off(card->dev);
8567 recover_flag = card->state;
8568 if (qeth_l3_stop_card(card, recovery_mode) == -ERESTARTSYS) {
8569- PRINT_WARN("Stopping card %s interrupted by user!\n",
8570- CARD_BUS_ID(card));
8571 return -ERESTARTSYS;
8572 }
8573 rc = ccw_device_set_offline(CARD_DDEV(card));
8574@@ -3207,8 +3211,8 @@ static int qeth_l3_recover(void *ptr)
8575 if (!qeth_do_run_thread(card, QETH_RECOVER_THREAD))
8576 return 0;
8577 QETH_DBF_TEXT(TRACE, 2, "recover2");
8578- PRINT_WARN("Recovery of device %s started ...\n",
8579- CARD_BUS_ID(card));
8580+ dev_warn(&card->gdev->dev,
8581+ "A recovery process has been started for the device\n");
8582 card->use_hard_stop = 1;
8583 __qeth_l3_set_offline(card->gdev, 1);
8584 rc = __qeth_l3_set_online(card->gdev, 1);
8585@@ -3216,11 +3220,11 @@ static int qeth_l3_recover(void *ptr)
8586 qeth_clear_thread_start_bit(card, QETH_RECOVER_THREAD);
8587 qeth_clear_thread_running_bit(card, QETH_RECOVER_THREAD);
8588 if (!rc)
8589- PRINT_INFO("Device %s successfully recovered!\n",
8590- CARD_BUS_ID(card));
8591+ dev_info(&card->gdev->dev,
8592+ "Device successfully recovered!\n");
8593 else
8594- PRINT_INFO("Device %s could not be recovered!\n",
8595- CARD_BUS_ID(card));
8596+ dev_warn(&card->gdev->dev, "The qeth device driver "
8597+ "failed to recover an error on the device\n");
8598 return 0;
8599 }
8600
8601@@ -3353,7 +3357,7 @@ static int qeth_l3_register_notifiers(vo
8602 return rc;
8603 }
8604 #else
8605- PRINT_WARN("layer 3 discipline no IPv6 support\n");
8606+ pr_warning("There is no IPv6 support for the layer 3 discipline\n");
8607 #endif
8608 return 0;
8609 }
8610@@ -3372,7 +3376,7 @@ static int __init qeth_l3_init(void)
8611 {
8612 int rc = 0;
8613
8614- PRINT_INFO("register layer 3 discipline\n");
8615+ pr_info("register layer 3 discipline\n");
8616 rc = qeth_l3_register_notifiers();
8617 return rc;
8618 }
8619@@ -3380,7 +3384,7 @@ static int __init qeth_l3_init(void)
8620 static void __exit qeth_l3_exit(void)
8621 {
8622 qeth_l3_unregister_notifiers();
8623- PRINT_INFO("unregister layer 3 discipline\n");
8624+ pr_info("unregister layer 3 discipline\n");
8625 }
8626
8627 module_init(qeth_l3_init);
8628--- a/drivers/s390/scsi/zfcp_aux.c
8629+++ b/drivers/s390/scsi/zfcp_aux.c
8630@@ -25,6 +25,8 @@
8631 * Sven Schuetz
8632 */
8633
8634+#define KMSG_COMPONENT "zfcp"
8635+
8636 #include <linux/miscdevice.h>
8637 #include "zfcp_ext.h"
8638
8639@@ -100,8 +102,7 @@ static int __init zfcp_device_setup(char
8640
8641 err_out:
8642 kfree(str);
8643- pr_err("zfcp: Parse error for device parameter string %s, "
8644- "device not attached.\n", devstr);
8645+ pr_err("%s is not a valid SCSI device\n", devstr);
8646 return 0;
8647 }
8648
8649@@ -193,13 +194,14 @@ static int __init zfcp_module_init(void)
8650
8651 retval = misc_register(&zfcp_cfdc_misc);
8652 if (retval) {
8653- pr_err("zfcp: registration of misc device zfcp_cfdc failed\n");
8654+ pr_err("Registering the misc device zfcp_cfdc failed\n");
8655 goto out_misc;
8656 }
8657
8658 retval = zfcp_ccw_register();
8659 if (retval) {
8660- pr_err("zfcp: Registration with common I/O layer failed.\n");
8661+ pr_err("The zfcp device driver could not register with "
8662+ "the common I/O layer\n");
8663 goto out_ccw_register;
8664 }
8665
8666--- a/drivers/s390/scsi/zfcp_ccw.c
8667+++ b/drivers/s390/scsi/zfcp_ccw.c
8668@@ -6,6 +6,8 @@
8669 * Copyright IBM Corporation 2002, 2008
8670 */
8671
8672+#define KMSG_COMPONENT "zfcp"
8673+
8674 #include "zfcp_ext.h"
8675
8676 /**
8677@@ -25,7 +27,8 @@ static int zfcp_ccw_probe(struct ccw_dev
8678 down(&zfcp_data.config_sema);
8679 if (zfcp_adapter_enqueue(ccw_device)) {
8680 dev_err(&ccw_device->dev,
8681- "Setup of data structures failed.\n");
8682+ "Setting up data structures for the "
8683+ "FCP adapter failed\n");
8684 retval = -EINVAL;
8685 }
8686 up(&zfcp_data.config_sema);
8687@@ -156,15 +159,18 @@ static int zfcp_ccw_notify(struct ccw_de
8688
8689 switch (event) {
8690 case CIO_GONE:
8691- dev_warn(&adapter->ccw_device->dev, "device gone\n");
8692+ dev_warn(&adapter->ccw_device->dev,
8693+ "The FCP device has been detached\n");
8694 zfcp_erp_adapter_shutdown(adapter, 0, 87, NULL);
8695 break;
8696 case CIO_NO_PATH:
8697- dev_warn(&adapter->ccw_device->dev, "no path\n");
8698+ dev_warn(&adapter->ccw_device->dev,
8699+ "The CHPID for the FCP device is offline\n");
8700 zfcp_erp_adapter_shutdown(adapter, 0, 88, NULL);
8701 break;
8702 case CIO_OPER:
8703- dev_info(&adapter->ccw_device->dev, "operational again\n");
8704+ dev_info(&adapter->ccw_device->dev,
8705+ "The FCP device is operational again\n");
8706 zfcp_erp_modify_adapter_status(adapter, 11, NULL,
8707 ZFCP_STATUS_COMMON_RUNNING,
8708 ZFCP_SET);
8709--- a/drivers/s390/scsi/zfcp_cfdc.c
8710+++ b/drivers/s390/scsi/zfcp_cfdc.c
8711@@ -7,6 +7,8 @@
8712 * Copyright IBM Corporation 2008
8713 */
8714
8715+#define KMSG_COMPONENT "zfcp"
8716+
8717 #include <linux/types.h>
8718 #include <linux/miscdevice.h>
8719 #include <asm/ccwdev.h>
8720--- a/drivers/s390/scsi/zfcp_dbf.c
8721+++ b/drivers/s390/scsi/zfcp_dbf.c
8722@@ -6,6 +6,8 @@
8723 * Copyright IBM Corporation 2002, 2008
8724 */
8725
8726+#define KMSG_COMPONENT "zfcp"
8727+
8728 #include <linux/ctype.h>
8729 #include <asm/debug.h>
8730 #include "zfcp_ext.h"
8731--- a/drivers/s390/scsi/zfcp_erp.c
8732+++ b/drivers/s390/scsi/zfcp_erp.c
8733@@ -6,6 +6,8 @@
8734 * Copyright IBM Corporation 2002, 2008
8735 */
8736
8737+#define KMSG_COMPONENT "zfcp"
8738+
8739 #include "zfcp_ext.h"
8740
8741 #define ZFCP_MAX_ERPS 3
8742@@ -901,11 +903,6 @@ static int zfcp_erp_open_ptp_port(struct
8743 struct zfcp_port *port = act->port;
8744
8745 if (port->wwpn != adapter->peer_wwpn) {
8746- dev_err(&adapter->ccw_device->dev,
8747- "Failed to open port 0x%016Lx, "
8748- "Peer WWPN 0x%016Lx does not "
8749- "match.\n", port->wwpn,
8750- adapter->peer_wwpn);
8751 zfcp_erp_port_failed(port, 25, NULL);
8752 return ZFCP_ERP_FAILED;
8753 }
8754@@ -1065,8 +1062,14 @@ static int zfcp_erp_strategy_check_unit(
8755 break;
8756 case ZFCP_ERP_FAILED :
8757 atomic_inc(&unit->erp_counter);
8758- if (atomic_read(&unit->erp_counter) > ZFCP_MAX_ERPS)
8759+ if (atomic_read(&unit->erp_counter) > ZFCP_MAX_ERPS) {
8760+ dev_err(&unit->port->adapter->ccw_device->dev,
8761+ "ERP failed for unit 0x%016Lx on "
8762+ "port 0x%016Lx\n",
8763+ (unsigned long long)unit->fcp_lun,
8764+ (unsigned long long)unit->port->wwpn);
8765 zfcp_erp_unit_failed(unit, 21, NULL);
8766+ }
8767 break;
8768 }
8769
8770@@ -1091,8 +1094,12 @@ static int zfcp_erp_strategy_check_port(
8771 result = ZFCP_ERP_EXIT;
8772 }
8773 atomic_inc(&port->erp_counter);
8774- if (atomic_read(&port->erp_counter) > ZFCP_MAX_ERPS)
8775+ if (atomic_read(&port->erp_counter) > ZFCP_MAX_ERPS) {
8776+ dev_err(&port->adapter->ccw_device->dev,
8777+ "ERP failed for remote port 0x%016Lx\n",
8778+ (unsigned long long)port->wwpn);
8779 zfcp_erp_port_failed(port, 22, NULL);
8780+ }
8781 break;
8782 }
8783
8784@@ -1114,8 +1121,12 @@ static int zfcp_erp_strategy_check_adapt
8785
8786 case ZFCP_ERP_FAILED :
8787 atomic_inc(&adapter->erp_counter);
8788- if (atomic_read(&adapter->erp_counter) > ZFCP_MAX_ERPS)
8789+ if (atomic_read(&adapter->erp_counter) > ZFCP_MAX_ERPS) {
8790+ dev_err(&adapter->ccw_device->dev,
8791+ "ERP cannot recover an error "
8792+ "on the FCP device\n");
8793 zfcp_erp_adapter_failed(adapter, 23, NULL);
8794+ }
8795 break;
8796 }
8797
8798@@ -1263,9 +1274,9 @@ static void zfcp_erp_schedule_work(struc
8799 p = kzalloc(sizeof(*p), GFP_KERNEL);
8800 if (!p) {
8801 dev_err(&unit->port->adapter->ccw_device->dev,
8802- "Out of resources. Could not register unit "
8803- "0x%016Lx on port 0x%016Lx with SCSI stack.\n",
8804- unit->fcp_lun, unit->port->wwpn);
8805+ "Registering unit 0x%016Lx on port 0x%016Lx failed\n",
8806+ (unsigned long long)unit->fcp_lun,
8807+ (unsigned long long)unit->port->wwpn);
8808 return;
8809 }
8810
8811@@ -1286,8 +1297,8 @@ static void zfcp_erp_rport_register(stru
8812 port->rport = fc_remote_port_add(port->adapter->scsi_host, 0, &ids);
8813 if (!port->rport) {
8814 dev_err(&port->adapter->ccw_device->dev,
8815- "Failed registration of rport "
8816- "0x%016Lx.\n", port->wwpn);
8817+ "Registering port 0x%016Lx failed\n",
8818+ (unsigned long long)port->wwpn);
8819 return;
8820 }
8821
8822@@ -1484,7 +1495,7 @@ int zfcp_erp_thread_setup(struct zfcp_ad
8823 retval = kernel_thread(zfcp_erp_thread, adapter, SIGCHLD);
8824 if (retval < 0) {
8825 dev_err(&adapter->ccw_device->dev,
8826- "Creation of ERP thread failed.\n");
8827+ "Creating an ERP thread for the FCP device failed.\n");
8828 return retval;
8829 }
8830 wait_event(adapter->erp_thread_wqh,
8831@@ -1526,7 +1537,6 @@ void zfcp_erp_adapter_failed(struct zfcp
8832 {
8833 zfcp_erp_modify_adapter_status(adapter, id, ref,
8834 ZFCP_STATUS_COMMON_ERP_FAILED, ZFCP_SET);
8835- dev_err(&adapter->ccw_device->dev, "Adapter ERP failed.\n");
8836 }
8837
8838 /**
8839@@ -1539,15 +1549,6 @@ void zfcp_erp_port_failed(struct zfcp_po
8840 {
8841 zfcp_erp_modify_port_status(port, id, ref,
8842 ZFCP_STATUS_COMMON_ERP_FAILED, ZFCP_SET);
8843-
8844- if (atomic_read(&port->status) & ZFCP_STATUS_PORT_WKA)
8845- dev_err(&port->adapter->ccw_device->dev,
8846- "Port ERP failed for WKA port d_id=0x%06x.\n",
8847- port->d_id);
8848- else
8849- dev_err(&port->adapter->ccw_device->dev,
8850- "Port ERP failed for port wwpn=0x%016Lx.\n",
8851- port->wwpn);
8852 }
8853
8854 /**
8855@@ -1560,10 +1561,6 @@ void zfcp_erp_unit_failed(struct zfcp_un
8856 {
8857 zfcp_erp_modify_unit_status(unit, id, ref,
8858 ZFCP_STATUS_COMMON_ERP_FAILED, ZFCP_SET);
8859-
8860- dev_err(&unit->port->adapter->ccw_device->dev,
8861- "Unit ERP failed for unit 0x%016Lx on port 0x%016Lx.\n",
8862- unit->fcp_lun, unit->port->wwpn);
8863 }
8864
8865 /**
8866--- a/drivers/s390/scsi/zfcp_fc.c
8867+++ b/drivers/s390/scsi/zfcp_fc.c
8868@@ -6,6 +6,8 @@
8869 * Copyright IBM Corporation 2008
8870 */
8871
8872+#define KMSG_COMPONENT "zfcp"
8873+
8874 #include "zfcp_ext.h"
8875
8876 struct ct_iu_gpn_ft_req {
8877--- a/drivers/s390/scsi/zfcp_fsf.c
8878+++ b/drivers/s390/scsi/zfcp_fsf.c
8879@@ -6,6 +6,8 @@
8880 * Copyright IBM Corporation 2002, 2008
8881 */
8882
8883+#define KMSG_COMPONENT "zfcp"
8884+
8885 #include <linux/blktrace_api.h>
8886 #include "zfcp_ext.h"
8887
8888@@ -51,19 +53,16 @@ static u32 fsf_qtcb_type[] = {
8889 [FSF_QTCB_UPLOAD_CONTROL_FILE] = FSF_SUPPORT_COMMAND
8890 };
8891
8892-static const char *zfcp_act_subtable_type[] = {
8893- "unknown", "OS", "WWPN", "DID", "LUN"
8894-};
8895-
8896 static void zfcp_act_eval_err(struct zfcp_adapter *adapter, u32 table)
8897 {
8898 u16 subtable = table >> 16;
8899 u16 rule = table & 0xffff;
8900+ const char *act_type[] = { "unknown", "OS", "WWPN", "DID", "LUN" };
8901
8902- if (subtable && subtable < ARRAY_SIZE(zfcp_act_subtable_type))
8903+ if (subtable && subtable < ARRAY_SIZE(act_type))
8904 dev_warn(&adapter->ccw_device->dev,
8905- "Access denied in subtable %s, rule %d.\n",
8906- zfcp_act_subtable_type[subtable], rule);
8907+ "Access denied according to ACT rule type %s, "
8908+ "rule %d\n", act_type[subtable], rule);
8909 }
8910
8911 static void zfcp_fsf_access_denied_port(struct zfcp_fsf_req *req,
8912@@ -71,7 +70,7 @@ static void zfcp_fsf_access_denied_port(
8913 {
8914 struct fsf_qtcb_header *header = &req->qtcb->header;
8915 dev_warn(&req->adapter->ccw_device->dev,
8916- "Access denied, cannot send command to port 0x%016Lx.\n",
8917+ "Access denied to port 0x%016Lx\n",
8918 port->wwpn);
8919 zfcp_act_eval_err(req->adapter, header->fsf_status_qual.halfword[0]);
8920 zfcp_act_eval_err(req->adapter, header->fsf_status_qual.halfword[1]);
8921@@ -84,7 +83,7 @@ static void zfcp_fsf_access_denied_unit(
8922 {
8923 struct fsf_qtcb_header *header = &req->qtcb->header;
8924 dev_warn(&req->adapter->ccw_device->dev,
8925- "Access denied for unit 0x%016Lx on port 0x%016Lx.\n",
8926+ "Access denied to unit 0x%016Lx on port 0x%016Lx\n",
8927 unit->fcp_lun, unit->port->wwpn);
8928 zfcp_act_eval_err(req->adapter, header->fsf_status_qual.halfword[0]);
8929 zfcp_act_eval_err(req->adapter, header->fsf_status_qual.halfword[1]);
8930@@ -94,9 +93,8 @@ static void zfcp_fsf_access_denied_unit(
8931
8932 static void zfcp_fsf_class_not_supp(struct zfcp_fsf_req *req)
8933 {
8934- dev_err(&req->adapter->ccw_device->dev,
8935- "Required FC class not supported by adapter, "
8936- "shutting down adapter.\n");
8937+ dev_err(&req->adapter->ccw_device->dev, "FCP device not "
8938+ "operational because of an unsupported FC class\n");
8939 zfcp_erp_adapter_shutdown(req->adapter, 0, 123, req);
8940 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
8941 }
8942@@ -172,42 +170,6 @@ static void zfcp_fsf_status_read_port_cl
8943 read_unlock_irqrestore(&zfcp_data.config_lock, flags);
8944 }
8945
8946-static void zfcp_fsf_bit_error_threshold(struct zfcp_fsf_req *req)
8947-{
8948- struct zfcp_adapter *adapter = req->adapter;
8949- struct fsf_status_read_buffer *sr_buf = req->data;
8950- struct fsf_bit_error_payload *err = &sr_buf->payload.bit_error;
8951-
8952- dev_warn(&adapter->ccw_device->dev,
8953- "Warning: bit error threshold data "
8954- "received for the adapter: "
8955- "link failures = %i, loss of sync errors = %i, "
8956- "loss of signal errors = %i, "
8957- "primitive sequence errors = %i, "
8958- "invalid transmission word errors = %i, "
8959- "CRC errors = %i).\n",
8960- err->link_failure_error_count,
8961- err->loss_of_sync_error_count,
8962- err->loss_of_signal_error_count,
8963- err->primitive_sequence_error_count,
8964- err->invalid_transmission_word_error_count,
8965- err->crc_error_count);
8966- dev_warn(&adapter->ccw_device->dev,
8967- "Additional bit error threshold data of the adapter: "
8968- "primitive sequence event time-outs = %i, "
8969- "elastic buffer overrun errors = %i, "
8970- "advertised receive buffer-to-buffer credit = %i, "
8971- "current receice buffer-to-buffer credit = %i, "
8972- "advertised transmit buffer-to-buffer credit = %i, "
8973- "current transmit buffer-to-buffer credit = %i).\n",
8974- err->primitive_sequence_event_timeout_count,
8975- err->elastic_buffer_overrun_error_count,
8976- err->advertised_receive_b2b_credit,
8977- err->current_receive_b2b_credit,
8978- err->advertised_transmit_b2b_credit,
8979- err->current_transmit_b2b_credit);
8980-}
8981-
8982 static void zfcp_fsf_link_down_info_eval(struct zfcp_fsf_req *req, u8 id,
8983 struct fsf_link_down_info *link_down)
8984 {
8985@@ -224,62 +186,66 @@ static void zfcp_fsf_link_down_info_eval
8986 switch (link_down->error_code) {
8987 case FSF_PSQ_LINK_NO_LIGHT:
8988 dev_warn(&req->adapter->ccw_device->dev,
8989- "The local link is down: no light detected.\n");
8990+ "There is no light signal from the local "
8991+ "fibre channel cable\n");
8992 break;
8993 case FSF_PSQ_LINK_WRAP_PLUG:
8994 dev_warn(&req->adapter->ccw_device->dev,
8995- "The local link is down: wrap plug detected.\n");
8996+ "There is a wrap plug instead of a fibre "
8997+ "channel cable\n");
8998 break;
8999 case FSF_PSQ_LINK_NO_FCP:
9000 dev_warn(&req->adapter->ccw_device->dev,
9001- "The local link is down: "
9002- "adjacent node on link does not support FCP.\n");
9003+ "The adjacent fibre channel node does not "
9004+ "support FCP\n");
9005 break;
9006 case FSF_PSQ_LINK_FIRMWARE_UPDATE:
9007 dev_warn(&req->adapter->ccw_device->dev,
9008- "The local link is down: "
9009- "firmware update in progress.\n");
9010+ "The FCP device is suspended because of a "
9011+ "firmware update\n");
9012 break;
9013 case FSF_PSQ_LINK_INVALID_WWPN:
9014 dev_warn(&req->adapter->ccw_device->dev,
9015- "The local link is down: "
9016- "duplicate or invalid WWPN detected.\n");
9017+ "The FCP device detected a WWPN that is "
9018+ "duplicate or not valid\n");
9019 break;
9020 case FSF_PSQ_LINK_NO_NPIV_SUPPORT:
9021 dev_warn(&req->adapter->ccw_device->dev,
9022- "The local link is down: "
9023- "no support for NPIV by Fabric.\n");
9024+ "The fibre channel fabric does not support NPIV\n");
9025 break;
9026 case FSF_PSQ_LINK_NO_FCP_RESOURCES:
9027 dev_warn(&req->adapter->ccw_device->dev,
9028- "The local link is down: "
9029- "out of resource in FCP daughtercard.\n");
9030+ "The FCP adapter cannot support more NPIV ports\n");
9031 break;
9032 case FSF_PSQ_LINK_NO_FABRIC_RESOURCES:
9033 dev_warn(&req->adapter->ccw_device->dev,
9034- "The local link is down: "
9035- "out of resource in Fabric.\n");
9036+ "The adjacent switch cannot support "
9037+ "more NPIV ports\n");
9038 break;
9039 case FSF_PSQ_LINK_FABRIC_LOGIN_UNABLE:
9040 dev_warn(&req->adapter->ccw_device->dev,
9041- "The local link is down: "
9042- "unable to login to Fabric.\n");
9043+ "The FCP adapter could not log in to the "
9044+ "fibre channel fabric\n");
9045 break;
9046 case FSF_PSQ_LINK_WWPN_ASSIGNMENT_CORRUPTED:
9047 dev_warn(&req->adapter->ccw_device->dev,
9048- "WWPN assignment file corrupted on adapter.\n");
9049+ "The WWPN assignment file on the FCP adapter "
9050+ "has been damaged\n");
9051 break;
9052 case FSF_PSQ_LINK_MODE_TABLE_CURRUPTED:
9053 dev_warn(&req->adapter->ccw_device->dev,
9054- "Mode table corrupted on adapter.\n");
9055+ "The mode table on the FCP adapter "
9056+ "has been damaged\n");
9057 break;
9058 case FSF_PSQ_LINK_NO_WWPN_ASSIGNMENT:
9059 dev_warn(&req->adapter->ccw_device->dev,
9060- "No WWPN for assignment table on adapter.\n");
9061+ "All NPIV ports on the FCP adapter have "
9062+ "been assigned\n");
9063 break;
9064 default:
9065 dev_warn(&req->adapter->ccw_device->dev,
9066- "The local link to adapter is down.\n");
9067+ "The link between the FCP adapter and "
9068+ "the FC fabric is down\n");
9069 }
9070 out:
9071 zfcp_erp_adapter_failed(adapter, id, req);
9072@@ -287,27 +253,18 @@ out:
9073
9074 static void zfcp_fsf_status_read_link_down(struct zfcp_fsf_req *req)
9075 {
9076- struct zfcp_adapter *adapter = req->adapter;
9077 struct fsf_status_read_buffer *sr_buf = req->data;
9078 struct fsf_link_down_info *ldi =
9079 (struct fsf_link_down_info *) &sr_buf->payload;
9080
9081 switch (sr_buf->status_subtype) {
9082 case FSF_STATUS_READ_SUB_NO_PHYSICAL_LINK:
9083- dev_warn(&adapter->ccw_device->dev,
9084- "Physical link is down.\n");
9085 zfcp_fsf_link_down_info_eval(req, 38, ldi);
9086 break;
9087 case FSF_STATUS_READ_SUB_FDISC_FAILED:
9088- dev_warn(&adapter->ccw_device->dev,
9089- "Local link is down "
9090- "due to failed FDISC login.\n");
9091 zfcp_fsf_link_down_info_eval(req, 39, ldi);
9092 break;
9093 case FSF_STATUS_READ_SUB_FIRMWARE_UPDATE:
9094- dev_warn(&adapter->ccw_device->dev,
9095- "Local link is down "
9096- "due to firmware update on adapter.\n");
9097 zfcp_fsf_link_down_info_eval(req, 40, NULL);
9098 };
9099 }
9100@@ -336,14 +293,16 @@ static void zfcp_fsf_status_read_handler
9101 case FSF_STATUS_READ_SENSE_DATA_AVAIL:
9102 break;
9103 case FSF_STATUS_READ_BIT_ERROR_THRESHOLD:
9104- zfcp_fsf_bit_error_threshold(req);
9105+ dev_warn(&adapter->ccw_device->dev,
9106+ "The error threshold for checksum statistics "
9107+ "has been exceeded\n");
9108 break;
9109 case FSF_STATUS_READ_LINK_DOWN:
9110 zfcp_fsf_status_read_link_down(req);
9111 break;
9112 case FSF_STATUS_READ_LINK_UP:
9113 dev_info(&adapter->ccw_device->dev,
9114- "Local link was replugged.\n");
9115+ "The local link has been restored\n");
9116 /* All ports should be marked as ready to run again */
9117 zfcp_erp_modify_adapter_status(adapter, 30, NULL,
9118 ZFCP_STATUS_COMMON_RUNNING,
9119@@ -387,8 +346,8 @@ static void zfcp_fsf_fsfstatus_qual_eval
9120 break;
9121 case FSF_SQ_NO_RECOM:
9122 dev_err(&req->adapter->ccw_device->dev,
9123- "No recommendation could be given for a "
9124- "problem on the adapter.\n");
9125+ "The FCP adapter reported a problem "
9126+ "that cannot be recovered\n");
9127 zfcp_erp_adapter_shutdown(req->adapter, 0, 121, req);
9128 break;
9129 }
9130@@ -404,8 +363,7 @@ static void zfcp_fsf_fsfstatus_eval(stru
9131 switch (req->qtcb->header.fsf_status) {
9132 case FSF_UNKNOWN_COMMAND:
9133 dev_err(&req->adapter->ccw_device->dev,
9134- "Command issued by the device driver (0x%x) is "
9135- "not known by the adapter.\n",
9136+ "The FCP adapter does not recognize the command 0x%x\n",
9137 req->qtcb->header.fsf_command);
9138 zfcp_erp_adapter_shutdown(req->adapter, 0, 120, req);
9139 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
9140@@ -436,11 +394,9 @@ static void zfcp_fsf_protstatus_eval(str
9141 return;
9142 case FSF_PROT_QTCB_VERSION_ERROR:
9143 dev_err(&adapter->ccw_device->dev,
9144- "The QTCB version requested by zfcp (0x%x) is not "
9145- "supported by the FCP adapter (lowest supported "
9146- "0x%x, highest supported 0x%x).\n",
9147- FSF_QTCB_CURRENT_VERSION, psq->word[0],
9148- psq->word[1]);
9149+ "QTCB version 0x%x not supported by FCP adapter "
9150+ "(0x%x to 0x%x)\n", FSF_QTCB_CURRENT_VERSION,
9151+ psq->word[0], psq->word[1]);
9152 zfcp_erp_adapter_shutdown(adapter, 0, 117, req);
9153 break;
9154 case FSF_PROT_ERROR_STATE:
9155@@ -450,8 +406,7 @@ static void zfcp_fsf_protstatus_eval(str
9156 break;
9157 case FSF_PROT_UNSUPP_QTCB_TYPE:
9158 dev_err(&adapter->ccw_device->dev,
9159- "Packet header type used by the device driver is "
9160- "incompatible with that used on the adapter.\n");
9161+ "The QTCB type is not supported by the FCP adapter\n");
9162 zfcp_erp_adapter_shutdown(adapter, 0, 118, req);
9163 break;
9164 case FSF_PROT_HOST_CONNECTION_INITIALIZING:
9165@@ -460,7 +415,7 @@ static void zfcp_fsf_protstatus_eval(str
9166 break;
9167 case FSF_PROT_DUPLICATE_REQUEST_ID:
9168 dev_err(&adapter->ccw_device->dev,
9169- "The request identifier 0x%Lx is ambiguous.\n",
9170+ "0x%Lx is an ambiguous request identifier\n",
9171 (unsigned long long)qtcb->bottom.support.req_handle);
9172 zfcp_erp_adapter_shutdown(adapter, 0, 78, req);
9173 break;
9174@@ -480,9 +435,7 @@ static void zfcp_fsf_protstatus_eval(str
9175 break;
9176 default:
9177 dev_err(&adapter->ccw_device->dev,
9178- "Transfer protocol status information"
9179- "provided by the adapter (0x%x) "
9180- "is not compatible with the device driver.\n",
9181+ "0x%x is not a valid transfer protocol status\n",
9182 qtcb->prefix.prot_status);
9183 zfcp_erp_adapter_shutdown(adapter, 0, 119, req);
9184 }
9185@@ -560,33 +513,17 @@ static int zfcp_fsf_exchange_config_eval
9186 adapter->peer_wwpn = bottom->plogi_payload.wwpn;
9187 adapter->peer_wwnn = bottom->plogi_payload.wwnn;
9188 fc_host_port_type(shost) = FC_PORTTYPE_PTP;
9189- if (req->erp_action)
9190- dev_info(&adapter->ccw_device->dev,
9191- "Point-to-Point fibrechannel "
9192- "configuration detected.\n");
9193 break;
9194 case FSF_TOPO_FABRIC:
9195 fc_host_port_type(shost) = FC_PORTTYPE_NPORT;
9196- if (req->erp_action)
9197- dev_info(&adapter->ccw_device->dev,
9198- "Switched fabric fibrechannel "
9199- "network detected.\n");
9200 break;
9201 case FSF_TOPO_AL:
9202 fc_host_port_type(shost) = FC_PORTTYPE_NLPORT;
9203- dev_err(&adapter->ccw_device->dev,
9204- "Unsupported arbitrated loop fibrechannel "
9205- "topology detected, shutting down "
9206- "adapter.\n");
9207- zfcp_erp_adapter_shutdown(adapter, 0, 127, req);
9208- return -EIO;
9209 default:
9210- fc_host_port_type(shost) = FC_PORTTYPE_UNKNOWN;
9211 dev_err(&adapter->ccw_device->dev,
9212- "The fibrechannel topology reported by the"
9213- " adapter is not known by the zfcp driver,"
9214- " shutting down adapter.\n");
9215- zfcp_erp_adapter_shutdown(adapter, 0, 128, req);
9216+ "Unknown or unsupported arbitrated loop "
9217+ "fibre channel topology detected\n");
9218+ zfcp_erp_adapter_shutdown(adapter, 0, 127, req);
9219 return -EIO;
9220 }
9221
9222@@ -617,11 +554,9 @@ static void zfcp_fsf_exchange_config_dat
9223
9224 if (bottom->max_qtcb_size < sizeof(struct fsf_qtcb)) {
9225 dev_err(&adapter->ccw_device->dev,
9226- "Maximum QTCB size (%d bytes) allowed by "
9227- "the adapter is lower than the minimum "
9228- "required by the driver (%ld bytes).\n",
9229- bottom->max_qtcb_size,
9230- sizeof(struct fsf_qtcb));
9231+ "FCP adapter maximum QTCB size (%d bytes) "
9232+ "is too small\n",
9233+ bottom->max_qtcb_size);
9234 zfcp_erp_adapter_shutdown(adapter, 0, 129, req);
9235 return;
9236 }
9237@@ -657,15 +592,15 @@ static void zfcp_fsf_exchange_config_dat
9238
9239 if (FSF_QTCB_CURRENT_VERSION < bottom->low_qtcb_version) {
9240 dev_err(&adapter->ccw_device->dev,
9241- "The adapter only supports newer control block "
9242- "versions, try updated device driver.\n");
9243+ "The FCP adapter only supports newer "
9244+ "control block versions\n");
9245 zfcp_erp_adapter_shutdown(adapter, 0, 125, req);
9246 return;
9247 }
9248 if (FSF_QTCB_CURRENT_VERSION > bottom->high_qtcb_version) {
9249 dev_err(&adapter->ccw_device->dev,
9250- "The adapter only supports older control block "
9251- "versions, consider a microcode upgrade.\n");
9252+ "The FCP adapter only supports older "
9253+ "control block versions\n");
9254 zfcp_erp_adapter_shutdown(adapter, 0, 126, req);
9255 }
9256 }
9257@@ -1465,8 +1400,8 @@ static void zfcp_fsf_open_port_handler(s
9258 break;
9259 case FSF_MAXIMUM_NUMBER_OF_PORTS_EXCEEDED:
9260 dev_warn(&req->adapter->ccw_device->dev,
9261- "The adapter is out of resources. The remote port "
9262- "0x%016Lx could not be opened, disabling it.\n",
9263+ "Not enough FCP adapter resources to open "
9264+ "remote port 0x%016Lx\n",
9265 port->wwpn);
9266 zfcp_erp_port_failed(port, 31, req);
9267 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
9268@@ -1479,8 +1414,8 @@ static void zfcp_fsf_open_port_handler(s
9269 break;
9270 case FSF_SQ_NO_RETRY_POSSIBLE:
9271 dev_warn(&req->adapter->ccw_device->dev,
9272- "The remote port 0x%016Lx could not be "
9273- "opened. Disabling it.\n", port->wwpn);
9274+ "Remote port 0x%016Lx could not be opened\n",
9275+ port->wwpn);
9276 zfcp_erp_port_failed(port, 32, req);
9277 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
9278 break;
9279@@ -1786,14 +1721,12 @@ static void zfcp_fsf_open_unit_handler(s
9280 case FSF_LUN_SHARING_VIOLATION:
9281 if (header->fsf_status_qual.word[0])
9282 dev_warn(&adapter->ccw_device->dev,
9283- "FCP-LUN 0x%Lx at the remote port "
9284- "with WWPN 0x%Lx "
9285- "connected to the adapter "
9286- "is already in use in LPAR%d, CSS%d.\n",
9287+ "LUN 0x%Lx on port 0x%Lx is already in "
9288+ "use by CSS%d, MIF Image ID %x\n",
9289 unit->fcp_lun,
9290 unit->port->wwpn,
9291- queue_designator->hla,
9292- queue_designator->cssid);
9293+ queue_designator->cssid,
9294+ queue_designator->hla);
9295 else
9296 zfcp_act_eval_err(adapter,
9297 header->fsf_status_qual.word[2]);
9298@@ -1804,8 +1737,8 @@ static void zfcp_fsf_open_unit_handler(s
9299 break;
9300 case FSF_MAXIMUM_NUMBER_OF_LUNS_EXCEEDED:
9301 dev_warn(&adapter->ccw_device->dev,
9302- "The adapter ran out of resources. There is no "
9303- "handle available for unit 0x%016Lx on port 0x%016Lx.",
9304+ "No handle is available for LUN "
9305+ "0x%016Lx on port 0x%016Lx\n",
9306 unit->fcp_lun, unit->port->wwpn);
9307 zfcp_erp_unit_failed(unit, 34, req);
9308 /* fall through */
9309@@ -1843,25 +1776,25 @@ static void zfcp_fsf_open_unit_handler(s
9310 atomic_set_mask(ZFCP_STATUS_UNIT_READONLY,
9311 &unit->status);
9312 dev_info(&adapter->ccw_device->dev,
9313- "Read-only access for unit 0x%016Lx "
9314- "on port 0x%016Lx.\n",
9315+ "SCSI device at LUN 0x%016Lx on port "
9316+ "0x%016Lx opened read-only\n",
9317 unit->fcp_lun, unit->port->wwpn);
9318 }
9319
9320 if (exclusive && !readwrite) {
9321 dev_err(&adapter->ccw_device->dev,
9322- "Exclusive access of read-only unit "
9323- "0x%016Lx on port 0x%016Lx not "
9324- "supported, disabling unit.\n",
9325+ "Exclusive read-only access not "
9326+ "supported (unit 0x%016Lx, "
9327+ "port 0x%016Lx)\n",
9328 unit->fcp_lun, unit->port->wwpn);
9329 zfcp_erp_unit_failed(unit, 35, req);
9330 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
9331 zfcp_erp_unit_shutdown(unit, 0, 80, req);
9332 } else if (!exclusive && readwrite) {
9333 dev_err(&adapter->ccw_device->dev,
9334- "Shared access of read-write unit "
9335- "0x%016Lx on port 0x%016Lx not "
9336- "supported, disabling unit.\n",
9337+ "Shared read-write access not "
9338+ "supported (unit 0x%016Lx, port "
9339+ "0x%016Lx\n)",
9340 unit->fcp_lun, unit->port->wwpn);
9341 zfcp_erp_unit_failed(unit, 36, req);
9342 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
9343@@ -2200,9 +2133,8 @@ static void zfcp_fsf_send_fcp_command_ha
9344 break;
9345 case FSF_DIRECTION_INDICATOR_NOT_VALID:
9346 dev_err(&req->adapter->ccw_device->dev,
9347- "Invalid data direction (%d) given for unit "
9348- "0x%016Lx on port 0x%016Lx, shutting down "
9349- "adapter.\n",
9350+ "Incorrect direction %d, unit 0x%016Lx on port "
9351+ "0x%016Lx closed\n",
9352 req->qtcb->bottom.io.data_direction,
9353 unit->fcp_lun, unit->port->wwpn);
9354 zfcp_erp_adapter_shutdown(unit->port->adapter, 0, 133, req);
9355@@ -2210,9 +2142,8 @@ static void zfcp_fsf_send_fcp_command_ha
9356 break;
9357 case FSF_CMND_LENGTH_NOT_VALID:
9358 dev_err(&req->adapter->ccw_device->dev,
9359- "An invalid control-data-block length field (%d) "
9360- "was found in a command for unit 0x%016Lx on port "
9361- "0x%016Lx. Shutting down adapter.\n",
9362+ "Incorrect CDB length %d, unit 0x%016Lx on "
9363+ "port 0x%016Lx closed\n",
9364 req->qtcb->bottom.io.fcp_cmnd_length,
9365 unit->fcp_lun, unit->port->wwpn);
9366 zfcp_erp_adapter_shutdown(unit->port->adapter, 0, 134, req);
9367@@ -2340,10 +2271,9 @@ int zfcp_fsf_send_fcp_command_task(struc
9368 retval = -EIO;
9369 else {
9370 dev_err(&adapter->ccw_device->dev,
9371- "SCSI request too large. "
9372- "Shutting down unit 0x%016Lx on port "
9373- "0x%016Lx.\n", unit->fcp_lun,
9374- unit->port->wwpn);
9375+ "Oversize data package, unit 0x%016Lx "
9376+ "on port 0x%016Lx closed\n",
9377+ unit->fcp_lun, unit->port->wwpn);
9378 zfcp_erp_unit_shutdown(unit, 0, 131, req);
9379 retval = -EINVAL;
9380 }
9381--- a/drivers/s390/scsi/zfcp_qdio.c
9382+++ b/drivers/s390/scsi/zfcp_qdio.c
9383@@ -6,6 +6,8 @@
9384 * Copyright IBM Corporation 2002, 2008
9385 */
9386
9387+#define KMSG_COMPONENT "zfcp"
9388+
9389 #include "zfcp_ext.h"
9390
9391 /* FIXME(tune): free space should be one max. SBAL chain plus what? */
9392@@ -57,7 +59,7 @@ void zfcp_qdio_free(struct zfcp_adapter
9393
9394 static void zfcp_qdio_handler_error(struct zfcp_adapter *adapter, u8 id)
9395 {
9396- dev_warn(&adapter->ccw_device->dev, "QDIO problem occurred.\n");
9397+ dev_warn(&adapter->ccw_device->dev, "A QDIO problem occurred\n");
9398
9399 zfcp_erp_adapter_reopen(adapter,
9400 ZFCP_STATUS_ADAPTER_LINK_UNPLUGGED |
9401@@ -175,8 +177,8 @@ static void zfcp_qdio_int_resp(struct cc
9402
9403 if (unlikely(!(sbale->flags & SBAL_FLAGS_LAST_ENTRY)))
9404 dev_warn(&adapter->ccw_device->dev,
9405- "Protocol violation by adapter. "
9406- "Continuing operations.\n");
9407+ "A QDIO protocol error occurred, "
9408+ "operations continue\n");
9409 }
9410
9411 /*
9412@@ -458,17 +460,11 @@ int zfcp_qdio_open(struct zfcp_adapter *
9413 if (atomic_test_mask(ZFCP_STATUS_ADAPTER_QDIOUP, &adapter->status))
9414 return -EIO;
9415
9416- if (qdio_establish(&adapter->qdio_init_data)) {
9417- dev_err(&adapter->ccw_device->dev,
9418- "Establish of QDIO queues failed.\n");
9419- return -EIO;
9420- }
9421+ if (qdio_establish(&adapter->qdio_init_data))
9422+ goto failed_establish;
9423
9424- if (qdio_activate(adapter->ccw_device)) {
9425- dev_err(&adapter->ccw_device->dev,
9426- "Activate of QDIO queues failed.\n");
9427+ if (qdio_activate(adapter->ccw_device))
9428 goto failed_qdio;
9429- }
9430
9431 for (cc = 0; cc < QDIO_MAX_BUFFERS_PER_Q; cc++) {
9432 sbale = &(adapter->resp_q.sbal[cc]->element[0]);
9433@@ -478,11 +474,8 @@ int zfcp_qdio_open(struct zfcp_adapter *
9434 }
9435
9436 if (do_QDIO(adapter->ccw_device, QDIO_FLAG_SYNC_INPUT, 0, 0,
9437- QDIO_MAX_BUFFERS_PER_Q)) {
9438- dev_err(&adapter->ccw_device->dev,
9439- "Init of QDIO response queue failed.\n");
9440+ QDIO_MAX_BUFFERS_PER_Q))
9441 goto failed_qdio;
9442- }
9443
9444 /* set index of first avalable SBALS / number of available SBALS */
9445 adapter->req_q.first = 0;
9446@@ -493,5 +486,8 @@ int zfcp_qdio_open(struct zfcp_adapter *
9447
9448 failed_qdio:
9449 qdio_shutdown(adapter->ccw_device, QDIO_FLAG_CLEANUP_USING_CLEAR);
9450+failed_establish:
9451+ dev_err(&adapter->ccw_device->dev,
9452+ "Setting up the QDIO connection to the FCP adapter failed\n");
9453 return -EIO;
9454 }
9455--- a/drivers/s390/scsi/zfcp_scsi.c
9456+++ b/drivers/s390/scsi/zfcp_scsi.c
9457@@ -6,6 +6,8 @@
9458 * Copyright IBM Corporation 2002, 2008
9459 */
9460
9461+#define KMSG_COMPONENT "zfcp"
9462+
9463 #include "zfcp_ext.h"
9464 #include <asm/atomic.h>
9465
9466@@ -294,7 +296,8 @@ int zfcp_adapter_scsi_register(struct zf
9467 sizeof (struct zfcp_adapter *));
9468 if (!adapter->scsi_host) {
9469 dev_err(&adapter->ccw_device->dev,
9470- "registration with SCSI stack failed.");
9471+ "Registering the FCP device with the "
9472+ "SCSI stack failed\n");
9473 return -EIO;
9474 }
9475
9476--- a/drivers/s390/scsi/zfcp_sysfs.c
9477+++ b/drivers/s390/scsi/zfcp_sysfs.c
9478@@ -6,6 +6,8 @@
9479 * Copyright IBM Corporation 2008
9480 */
9481
9482+#define KMSG_COMPONENT "zfcp"
9483+
9484 #include "zfcp_ext.h"
9485
9486 #define ZFCP_DEV_ATTR(_feat, _name, _mode, _show, _store) \
9487--- a/include/linux/device.h
9488+++ b/include/linux/device.h
9489@@ -524,20 +524,34 @@ extern const char *dev_driver_string(con
9490 printk(level "%s %s: " format , dev_driver_string(dev) , \
9491 dev_name(dev) , ## arg)
9492
9493+/* dev_printk_hash for message documentation */
9494+#if defined(__KMSG_CHECKER) && defined(KMSG_COMPONENT)
9495+/* generate magic string for scripts/kmsg-doc to parse */
9496+#define dev_printk_hash(level, dev, format, arg...) \
9497+ __KMSG_DEV(level _FMT_ format _ARGS_ dev, ## arg _END_)
9498+#elif defined(CONFIG_KMSG_IDS) && defined(KMSG_COMPONENT)
9499+int printk_dev_hash(const char *, const char *, const char *, ...);
9500+#define dev_printk_hash(level, dev, format, arg...) \
9501+ printk_dev_hash(level "%s.%06x: ", dev_driver_string(dev), \
9502+ "%s: " format, dev_name(dev), ## arg)
9503+#else /* !defined(CONFIG_KMSG_IDS) */
9504+#define dev_printk_hash dev_printk
9505+#endif
9506+
9507 #define dev_emerg(dev, format, arg...) \
9508- dev_printk(KERN_EMERG , dev , format , ## arg)
9509+ dev_printk_hash(KERN_EMERG , dev , format , ## arg)
9510 #define dev_alert(dev, format, arg...) \
9511- dev_printk(KERN_ALERT , dev , format , ## arg)
9512+ dev_printk_hash(KERN_ALERT , dev , format , ## arg)
9513 #define dev_crit(dev, format, arg...) \
9514- dev_printk(KERN_CRIT , dev , format , ## arg)
9515+ dev_printk_hash(KERN_CRIT , dev , format , ## arg)
9516 #define dev_err(dev, format, arg...) \
9517- dev_printk(KERN_ERR , dev , format , ## arg)
9518+ dev_printk_hash(KERN_ERR , dev , format , ## arg)
9519 #define dev_warn(dev, format, arg...) \
9520- dev_printk(KERN_WARNING , dev , format , ## arg)
9521+ dev_printk_hash(KERN_WARNING , dev , format , ## arg)
9522 #define dev_notice(dev, format, arg...) \
9523- dev_printk(KERN_NOTICE , dev , format , ## arg)
9524+ dev_printk_hash(KERN_NOTICE , dev , format , ## arg)
9525 #define dev_info(dev, format, arg...) \
9526- dev_printk(KERN_INFO , dev , format , ## arg)
9527+ dev_printk_hash(KERN_INFO , dev , format , ## arg)
9528
9529 #ifdef DEBUG
9530 #define dev_dbg(dev, format, arg...) \
9531--- a/include/linux/kernel.h
9532+++ b/include/linux/kernel.h
9533@@ -296,28 +296,48 @@ static inline char *pack_hex_byte(char *
9534 return buf;
9535 }
9536
9537+#ifdef KMSG_COMPONENT
9538+#define pr_printk(level, format, ...) \
9539+ printk(level KMSG_COMPONENT ": " format, ##__VA_ARGS__)
9540+#else
9541+#define pr_printk(level, format, ...) \
9542+ printk(level ": " format, ##__VA_ARGS__)
9543+#endif
9544+
9545+#if defined(__KMSG_CHECKER) && defined(KMSG_COMPONENT)
9546+/* generate magic string for scripts/kmsg-doc to parse */
9547+#define pr_printk_hash(level, format, ...) \
9548+ __KMSG_PRINT(level _FMT_ format _ARGS_ ##__VA_ARGS__ _END_)
9549+#elif defined(CONFIG_KMSG_IDS) && defined(KMSG_COMPONENT)
9550+int printk_hash(const char *, const char *, ...);
9551+#define pr_printk_hash(level, format, ...) \
9552+ printk_hash(level KMSG_COMPONENT ".%06x" ": ", format, ##__VA_ARGS__)
9553+#else /* !defined(CONFIG_KMSG_IDS) */
9554+#define pr_printk_hash pr_printk
9555+#endif
9556+
9557 #define pr_emerg(fmt, arg...) \
9558- printk(KERN_EMERG fmt, ##arg)
9559+ pr_printk_hash(KERN_EMERG, fmt, ##arg)
9560 #define pr_alert(fmt, arg...) \
9561- printk(KERN_ALERT fmt, ##arg)
9562+ pr_printk_hash(KERN_ALERT, fmt, ##arg)
9563 #define pr_crit(fmt, arg...) \
9564- printk(KERN_CRIT fmt, ##arg)
9565+ pr_printk_hash(KERN_CRIT, fmt, ##arg)
9566 #define pr_err(fmt, arg...) \
9567- printk(KERN_ERR fmt, ##arg)
9568+ pr_printk_hash(KERN_ERR, fmt, ##arg)
9569 #define pr_warning(fmt, arg...) \
9570- printk(KERN_WARNING fmt, ##arg)
9571+ pr_printk_hash(KERN_WARNING, fmt, ##arg)
9572 #define pr_notice(fmt, arg...) \
9573- printk(KERN_NOTICE fmt, ##arg)
9574+ pr_printk_hash(KERN_NOTICE, fmt, ##arg)
9575 #define pr_info(fmt, arg...) \
9576- printk(KERN_INFO fmt, ##arg)
9577+ pr_printk_hash(KERN_INFO, fmt, ##arg)
9578
9579 #ifdef DEBUG
9580 /* If you are writing a driver, please use dev_dbg instead */
9581 #define pr_debug(fmt, arg...) \
9582- printk(KERN_DEBUG fmt, ##arg)
9583+ pr_printk(KERN_DEBUG, fmt, ##arg)
9584 #else
9585 #define pr_debug(fmt, arg...) \
9586- ({ if (0) printk(KERN_DEBUG fmt, ##arg); 0; })
9587+ ({ if (0) pr_printk(KERN_DEBUG, fmt, ##arg); 0; })
9588 #endif
9589
9590 /*
9591--- a/kernel/printk.c
9592+++ b/kernel/printk.c
9593@@ -32,6 +32,8 @@
9594 #include <linux/security.h>
9595 #include <linux/bootmem.h>
9596 #include <linux/syscalls.h>
9597+#include <linux/jhash.h>
9598+#include <linux/device.h>
9599
9600 #include <asm/uaccess.h>
9601
9602@@ -1353,3 +1355,46 @@ bool printk_timed_ratelimit(unsigned lon
9603 }
9604 EXPORT_SYMBOL(printk_timed_ratelimit);
9605 #endif
9606+
9607+#if defined CONFIG_PRINTK && defined CONFIG_KMSG_IDS
9608+
9609+/**
9610+ * printk_hash - print a kernel message include a hash over the message
9611+ * @prefix: message prefix including the ".%06x" for the hash
9612+ * @fmt: format string
9613+ */
9614+asmlinkage int printk_hash(const char *prefix, const char *fmt, ...)
9615+{
9616+ va_list args;
9617+ int r;
9618+
9619+ r = printk(prefix, jhash(fmt, strlen(fmt), 0) & 0xffffff);
9620+ va_start(args, fmt);
9621+ r += vprintk(fmt, args);
9622+ va_end(args);
9623+
9624+ return r;
9625+}
9626+EXPORT_SYMBOL(printk_hash);
9627+
9628+/**
9629+ * printk_dev_hash - print a kernel message include a hash over the message
9630+ * @prefix: message prefix including the ".%06x" for the hash
9631+ * @dev: device this printk is all about
9632+ * @fmt: format string
9633+ */
9634+asmlinkage int printk_dev_hash(const char *prefix, const char *driver_name,
9635+ const char *fmt, ...)
9636+{
9637+ va_list args;
9638+ int r;
9639+
9640+ r = printk(prefix, driver_name, jhash(fmt, strlen(fmt), 0) & 0xffffff);
9641+ va_start(args, fmt);
9642+ r += vprintk(fmt, args);
9643+ va_end(args);
9644+
9645+ return r;
9646+}
9647+EXPORT_SYMBOL(printk_dev_hash);
9648+#endif
9649--- a/net/iucv/af_iucv.c
9650+++ b/net/iucv/af_iucv.c
9651@@ -8,6 +8,8 @@
9652 * Author(s): Jennifer Hunt <jenhunt@us.ibm.com>
9653 */
9654
9655+#define KMSG_COMPONENT "af_iucv"
9656+
9657 #include <linux/module.h>
9658 #include <linux/types.h>
9659 #include <linux/list.h>
9660@@ -616,6 +618,8 @@ static int iucv_sock_sendmsg(struct kioc
9661 struct iucv_sock *iucv = iucv_sk(sk);
9662 struct sk_buff *skb;
9663 struct iucv_message txmsg;
9664+ char user_id[9];
9665+ char appl_id[9];
9666 int err;
9667
9668 err = sock_error(sk);
9669@@ -651,8 +655,15 @@ static int iucv_sock_sendmsg(struct kioc
9670 err = iucv_message_send(iucv->path, &txmsg, 0, 0,
9671 (void *) skb->data, skb->len);
9672 if (err) {
9673- if (err == 3)
9674- printk(KERN_ERR "AF_IUCV msg limit exceeded\n");
9675+ if (err == 3) {
9676+ user_id[8] = 0;
9677+ memcpy(user_id, iucv->dst_user_id, 8);
9678+ appl_id[8] = 0;
9679+ memcpy(appl_id, iucv->dst_name, 8);
9680+ pr_err("Application %s on z/VM guest %s"
9681+ " exceeds message limit\n",
9682+ user_id, appl_id);
9683+ }
9684 skb_unlink(skb, &iucv->send_skb_q);
9685 err = -EPIPE;
9686 goto fail;
9687@@ -1190,7 +1201,8 @@ static int __init afiucv_init(void)
9688 int err;
9689
9690 if (!MACHINE_IS_VM) {
9691- printk(KERN_ERR "AF_IUCV connection needs VM as base\n");
9692+ pr_err("The af_iucv module cannot be loaded"
9693+ " without z/VM\n");
9694 err = -EPROTONOSUPPORT;
9695 goto out;
9696 }
9697--- a/net/iucv/iucv.c
9698+++ b/net/iucv/iucv.c
9699@@ -30,6 +30,8 @@
9700 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
9701 */
9702
9703+#define KMSG_COMPONENT "iucv"
9704+
9705 #include <linux/module.h>
9706 #include <linux/moduleparam.h>
9707 #include <linux/spinlock.h>
9708@@ -424,8 +426,8 @@ static void iucv_declare_cpu(void *data)
9709 err = "Paging or storage error";
9710 break;
9711 }
9712- printk(KERN_WARNING "iucv_register: iucv_declare_buffer "
9713- "on cpu %i returned error 0x%02x (%s)\n", cpu, rc, err);
9714+ pr_warning("Defining an interrupt buffer on CPU %i"
9715+ " failed with 0x%02x (%s)\n", cpu, rc, err);
9716 return;
9717 }
9718
9719@@ -1572,7 +1574,7 @@ static void iucv_external_interrupt(u16
9720 BUG_ON(p->iptype < 0x01 || p->iptype > 0x09);
9721 work = kmalloc(sizeof(struct iucv_irq_list), GFP_ATOMIC);
9722 if (!work) {
9723- printk(KERN_WARNING "iucv_external_interrupt: out of memory\n");
9724+ pr_warning("iucv_external_interrupt: out of memory\n");
9725 return;
9726 }
9727 memcpy(&work->data, p, sizeof(work->data));
9728--- a/scripts/Makefile.build
9729+++ b/scripts/Makefile.build
9730@@ -223,12 +223,14 @@ endef
9731 # Built-in and composite module parts
9732 $(obj)/%.o: $(src)/%.c FORCE
9733 $(call cmd,force_checksrc)
9734+ $(call cmd,force_check_kmsg)
9735 $(call if_changed_rule,cc_o_c)
9736
9737 # Single-part modules are special since we need to mark them in $(MODVERDIR)
9738
9739 $(single-used-m): $(obj)/%.o: $(src)/%.c FORCE
9740 $(call cmd,force_checksrc)
9741+ $(call cmd,force_check_kmsg)
9742 $(call if_changed_rule,cc_o_c)
9743 @{ echo $(@:.o=.ko); echo $@; } > $(MODVERDIR)/$(@F:.o=.mod)
9744
9745@@ -351,6 +353,18 @@ $(multi-used-m) : %.o: $(multi-objs-m) F
9746
9747 targets += $(multi-used-y) $(multi-used-m)
9748
9749+# kmsg check tool
9750+ifneq ($(KBUILD_KMSG_CHECK),0)
9751+ ifeq ($(KBUILD_KMSG_CHECK),2)
9752+ kmsg_cmd := print
9753+ quiet_cmd_force_check_kmsg = KMSG_PRINT $<
9754+ $(shell [ -d $(objtree)/man ] || mkdir -p $(objtree)/man)
9755+ else
9756+ kmsg_cmd := check
9757+ quiet_cmd_force_check_kmsg = KMSG_CHECK $<
9758+ endif
9759+ cmd_force_check_kmsg = $(KMSG_CHECK) $(kmsg_cmd) $(CC) $(c_flags) $< ;
9760+endif
9761
9762 # Descending
9763 # ---------------------------------------------------------------------------
9764--- /dev/null
9765+++ b/scripts/kmsg-doc
9766@@ -0,0 +1,477 @@
9767+#!/usr/bin/perl -w
9768+#
9769+# kmsg kernel messages check and print tool.
9770+#
9771+# To check the source code for missing messages the script is called
9772+# with check, the name compiler and the compile parameters
9773+# kmsg-doc check $(CC) $(c_flags) $<
9774+# To create man pages for the messages the script is called with
9775+# kmsg-doc print $(CC) $(c_flags) $<
9776+#
9777+# Copyright IBM Corp. 2008
9778+# Author(s): Martin Schwidefsky <schwidefsky@de.ibm.com>
9779+# Michael Holzheu <holzheu@linux.vnet.ibm.com>
9780+#
9781+
9782+use Cwd;
9783+use Switch;
9784+
9785+my $errors = 0;
9786+my $warnings = 0;
9787+my $srctree = "";
9788+my $objtree = "";
9789+my $kmsg_count = 0;
9790+
9791+sub remove_quotes($)
9792+{
9793+ my ($string) = @_;
9794+ my $inside = 0;
9795+ my $slash = 0;
9796+ my $result = "";
9797+
9798+ foreach my $str (split(/([\\"])/, $string)) {
9799+ if ($inside && ($str ne "\"" || $slash)) {
9800+ $result .= $str;
9801+ }
9802+ # Check for backslash before quote
9803+ if ($str eq "\"") {
9804+ if (!$slash) {
9805+ $inside = !$inside;
9806+ }
9807+ $slash = 0;
9808+ } elsif ($str eq "\\") {
9809+ $slash = !$slash;
9810+ } elsif ($str ne "") {
9811+ $slash = 0;
9812+ }
9813+ }
9814+ return $result;
9815+}
9816+
9817+sub string_to_bytes($)
9818+{
9819+ my ($string) = @_;
9820+ my %is_escape = ('"', 0x22, '\'', 0x27, 'n', 0x0a, 'r', 0x0d, 'b', 0x08,
9821+ 't', 0x09, 'f', 0x0c, 'a', 0x07, 'v', 0x0b, '?', 0x3f);
9822+ my (@ar, $slash, $len);
9823+
9824+ # scan string, interpret backslash escapes and write bytes to @ar
9825+ $len = 0;
9826+ foreach my $ch (split(//, $string)) {
9827+ if ($ch eq '\\') {
9828+ $slash = !$slash;
9829+ if (!$slash) {
9830+ $ar[$len] = ord('\\');
9831+ $len++;
9832+ }
9833+ } elsif ($slash && defined $is_escape{$ch}) {
9834+ # C99 backslash escapes: \\ \" \' \n \r \b \t \f \a \v \?
9835+ $ar[$len] = $is_escape{$ch};
9836+ $len++;
9837+ $slash = 0;
9838+ } elsif ($slash) {
9839+ # FIXME: C99 backslash escapes \nnn \xhh
9840+ die("Unknown backslash escape in message $string.");
9841+ } else {
9842+ # normal character
9843+ $ar[$len] = ord($ch);
9844+ $len++;
9845+ }
9846+ }
9847+ return @ar;
9848+}
9849+
9850+sub calc_jhash($)
9851+{
9852+ my ($string) = @_;
9853+ my @ar;
9854+ my ($a, $b, $c, $i, $length, $len);
9855+
9856+ @ar = string_to_bytes($string);
9857+ $length = @ar;
9858+ # add dummy elements to @ar to avoid if then else hell
9859+ push @ar, (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
9860+ $a = 0x9e3779b9;
9861+ $b = 0x9e3779b9;
9862+ $c = 0;
9863+ $i = 0;
9864+ for ($len = $length + 12; $len >= 12; $len -= 12) {
9865+ if ($len < 24) {
9866+ # add length for last round
9867+ $c += $length;
9868+ }
9869+ $a += $ar[$i] + ($ar[$i+1]<<8) + ($ar[$i+2]<<16) + ($ar[$i+3]<<24);
9870+ $b += $ar[$i+4] + ($ar[$i+5]<<8) + ($ar[$i+6]<<16) + ($ar[$i+7]<<24);
9871+ if ($len >= 24) {
9872+ $c += $ar[$i+8] + ($ar[$i+9]<<8) + ($ar[$i+10]<<16) + ($ar[$i+11]<<24);
9873+ } else {
9874+ $c += ($ar[$i+8]<<8) + ($ar[$i+9]<<16) + ($ar[$i+10]<<24);
9875+ }
9876+ $a &= 0xffffffff; $b &= 0xffffffff; $c &= 0xffffffff;
9877+ $a -= $b; $a -= $c; $a ^= ($c >> 13); $a &= 0xffffffff;
9878+ $b -= $c; $b -= $a; $b ^= ($a << 8); $b &= 0xffffffff;
9879+ $c -= $a; $c -= $b; $c ^= ($b >> 13); $c &= 0xffffffff;
9880+ $a -= $b; $a -= $c; $a ^= ($c >> 12); $a &= 0xffffffff;
9881+ $b -= $c; $b -= $a; $b ^= ($a << 16); $b &= 0xffffffff;
9882+ $c -= $a; $c -= $b; $c ^= ($b >> 5); $c &= 0xffffffff;
9883+ $a -= $b; $a -= $c; $a ^= ($c >> 3); $a &= 0xffffffff;
9884+ $b -= $c; $b -= $a; $b ^= ($a << 10); $b &= 0xffffffff;
9885+ $c -= $a; $c -= $b; $c ^= ($b >> 15); $c &= 0xffffffff;
9886+ $i += 12;
9887+ }
9888+ return $c;
9889+}
9890+
9891+sub add_kmsg_desc($$$$$$)
9892+{
9893+ my ($component, $text, $sev, $argv, $desc, $user) = @_;
9894+ my ($hash, $tag);
9895+
9896+ $text = remove_quotes($text);
9897+ $hash = substr(sprintf("%08x", calc_jhash($text)), 2, 6);
9898+ $tag = $component . "." . $hash;
9899+
9900+ if ($kmsg_desc{$tag}) {
9901+ if ($text ne $kmsg_desc{$tag}->{'TEXT'}) {
9902+ warn "Duplicate message with tag $tag\n";
9903+ warn " --- $kmsg_desc{$tag}->{'TEXT'}\n";
9904+ warn " +++ $text\n";
9905+ } else {
9906+ warn "Duplicate message description for \"$text\"\n";
9907+ }
9908+ $errors++;
9909+ return;
9910+ }
9911+ $kmsg_desc{$tag}->{'TEXT'} = $text;
9912+ $kmsg_desc{$tag}->{'SEV'} = $sev;
9913+ $kmsg_desc{$tag}->{'ARGV'} = $argv;
9914+ $kmsg_desc{$tag}->{'DESC'} = $desc;
9915+ $kmsg_desc{$tag}->{'USER'} = $user;
9916+}
9917+
9918+sub add_kmsg_print($$$$)
9919+{
9920+ my ($component, $sev, $text, $argv) = @_;
9921+ my ($hash, $tag, $count, $parm);
9922+
9923+ $text = remove_quotes($text);
9924+ $hash = substr(sprintf("%08x", calc_jhash($text)), 2, 6);
9925+ $tag = $component . "." . $hash;
9926+
9927+ # Pretty print severity
9928+ $sev =~ s/"<0>"/Emerg/;
9929+ $sev =~ s/"<1>"/Alert/;
9930+ $sev =~ s/"<2>"/Critical/;
9931+ $sev =~ s/"<3>"/Error/;
9932+ $sev =~ s/"<4>"/Warning/;
9933+ $sev =~ s/"<5>"/Notice/;
9934+ $sev =~ s/"<6>"/Informational/;
9935+ $sev =~ s/"<7>"/Debug/;
9936+ $kmsg_print{$kmsg_count}->{'TAG'} = $tag;
9937+ $kmsg_print{$kmsg_count}->{'TEXT'} = $text;
9938+ $kmsg_print{$kmsg_count}->{'SEV'} = $sev;
9939+ $kmsg_print{$kmsg_count}->{'ARGV'} = $argv;
9940+ $kmsg_count += 1;
9941+}
9942+
9943+sub process_source_file($$)
9944+{
9945+ my ($component, $file) = @_;
9946+ my $state;
9947+ my ($text, $sev, $argv, $desc, $user);
9948+
9949+ if (!open(FD, "$file")) {
9950+ return "";
9951+ }
9952+
9953+ $state = 0;
9954+ while (<FD>) {
9955+ chomp;
9956+ # kmsg message component: #define KMSG_COMPONENT "<component>"
9957+ if (/^#define\s+KMSG_COMPONENT\s+\"(.*)\"[^\"]*$/o) {
9958+ $component = $1;
9959+ }
9960+ if ($state == 0) {
9961+ # single line kmsg for undocumented messages, format:
9962+ # /*? Text: "<message>" */
9963+ if (/^\s*\/\*\?\s*Text:\s*(\".*\")\s*\*\/\s*$/o) {
9964+ add_kmsg_desc($component, $1, "", "", "", "");
9965+ }
9966+ # kmsg message start: '/*?'
9967+ if (/^\s*\/\*\?\s*$/o) {
9968+ $state = 1;
9969+ ($text, $sev, $argv, $desc, $user) = ( "", "", "", "", "" );
9970+ }
9971+ } elsif ($state == 1) {
9972+ # kmsg message end: ' */'
9973+ if (/^\s*\*\/\s*/o) {
9974+ add_kmsg_desc($component, $text, $sev, $argv, $desc, $user);
9975+ $state = 0;
9976+ }
9977+ # kmsg message text: ' * Text: "<message>"'
9978+ elsif (/^\s*\*\s*Text:\s*(\".*\")\s*$/o) {
9979+ $text = $1;
9980+ }
9981+ # kmsg message severity: ' * Severity: <sev>'
9982+ elsif (/^\s*\*\s*Severity:\s*(\S*)\s*$/o) {
9983+ $sev = $1;
9984+ }
9985+ # kmsg message parameter: ' * Parameter: <argv>'
9986+ elsif (/^\s*\*\s*Parameter:\s*(\S*)\s*$/o) {
9987+ if (!defined($1)) {
9988+ $argv = "";
9989+ } else {
9990+ $argv = $1;
9991+ }
9992+ $state = 2;
9993+ }
9994+ # kmsg message description start: ' * Description:'
9995+ elsif (/^\s*\*\s*Description:\s*(\S*)\s*$/o) {
9996+ if (!defined($1)) {
9997+ $desc = "";
9998+ } else {
9999+ $desc = $1;
10000+ }
10001+ $state = 3;
10002+ }
10003+ # kmsg has unrecognizable lines
10004+ else {
10005+ warn "Warning(${file}:$.): Cannot understand $_";
10006+ $warnings++;
10007+ $state = 0;
10008+ }
10009+ } elsif ($state == 2) {
10010+ # kmsg message end: ' */'
10011+ if (/^\s*\*\//o) {
10012+ warn "Warning(${file}:$.): Missing description, skipping message";
10013+ $warnings++;
10014+ $state = 0;
10015+ }
10016+ # kmsg message description start: ' * Description:'
10017+ elsif (/^\s*\*\s*Description:\s*$/o) {
10018+ $desc = $1;
10019+ $state = 3;
10020+ }
10021+ # kmsg message parameter line: ' * <argv>'
10022+ elsif (/^\s*\*(.*)$/o) {
10023+ $argv .= "\n" . $1;
10024+ } else {
10025+ warn "Warning(${file}:$.): Cannot understand $_";
10026+ $warnings++;
10027+ $state = 0;
10028+ }
10029+ } elsif ($state == 3) {
10030+ # kmsg message end: ' */'
10031+ if (/^\s*\*\/\s*/o) {
10032+ add_kmsg_desc($component, $text, $sev, $argv, $desc, $user);
10033+ $state = 0;
10034+ }
10035+ # kmsg message description start: ' * User action:'
10036+ elsif (/^\s*\*\s*User action:\s*$/o) {
10037+ $user = $1;
10038+ $state = 4;
10039+ }
10040+ # kmsg message description line: ' * <text>'
10041+ elsif (/^\s*\*\s*(.*)$/o) {
10042+ $desc .= "\n" . $1;
10043+ } else {
10044+ warn "Warning(${file}:$.): Cannot understand $_";
10045+ $warnings++;
10046+ $state = 0;
10047+ }
10048+ } elsif ($state == 4) {
10049+ # kmsg message end: ' */'
10050+ if (/^\s*\*\/\s*/o) {
10051+ add_kmsg_desc($component, $text, $sev, $argv, $desc, $user);
10052+ $state = 0;
10053+ }
10054+ # kmsg message user action line: ' * <text>'
10055+ elsif (/^\s*\*\s*(.*)$/o) {
10056+ $user .= "\n" . $1;
10057+ } else {
10058+ warn "Warning(${file}:$.): Cannot understand $_";
10059+ $warnings++;
10060+ $state = 0;
10061+ }
10062+ }
10063+ }
10064+ return $component;
10065+}
10066+
10067+sub process_cpp_file($$$$)
10068+{
10069+ my ($cc, $options, $file, $component) = @_;
10070+
10071+ open(FD, "$cc $gcc_options|") or die ("Preprocessing failed.");
10072+
10073+ while (<FD>) {
10074+ chomp;
10075+ if (/.*__KMSG_PRINT\(\s*(\S*)\s*_FMT_(.*)_ARGS_\s*(.*)?_END_\s*\)/o) {
10076+ if ($component ne "") {
10077+ add_kmsg_print($component, $1, $2, $3);
10078+ } else {
10079+ warn "Error(${file}:$.): kmsg without component\n";
10080+ $errors++;
10081+ }
10082+ } elsif (/.*__KMSG_DEV\(\s*(\S*)\s*_FMT_(.*)_ARGS_\s*(.*)?_END_\s*\)/o) {
10083+ if ($component ne "") {
10084+ add_kmsg_print($component, $1, "\"%s: \"" . $2, $3);
10085+ } else {
10086+ warn "Error(${file}:$.): kmsg without component\n";
10087+ $errors++;
10088+ }
10089+ }
10090+ }
10091+}
10092+
10093+sub check_messages($)
10094+{
10095+ my $component = "@_";
10096+ my $failed = 0;
10097+
10098+ for ($i = 0; $i < $kmsg_count; $i++) {
10099+ $tag = $kmsg_print{$i}->{'TAG'};
10100+ if (!defined($kmsg_desc{$tag})) {
10101+ add_kmsg_desc($component,
10102+ "\"" . $kmsg_print{$i}->{'TEXT'} . "\"",
10103+ $kmsg_print{$i}->{'SEV'},
10104+ $kmsg_print{$i}->{'ARGV'},
10105+ "Please insert description here",
10106+ "What is the user supposed to do");
10107+ $kmsg_desc{$tag}->{'CHECK'} = 1;
10108+ $failed = 1;
10109+ warn "$component: Missing description for: $kmsg_desc{$tag}\n";
10110+ $errors++;
10111+ next;
10112+ }
10113+ if ($kmsg_desc{$tag}->{'SEV'} ne "" &&
10114+ $kmsg_desc{$tag}->{'SEV'} ne $kmsg_print{$i}->{'SEV'}) {
10115+ warn "Message severity mismatch for \"$kmsg_print{$i}->{'TEXT'}\"\n";
10116+ warn " --- $kmsg_desc{$tag}->{'SEV'}\n";
10117+ warn " +++ $kmsg_print{$i}->{'SEV'}\n";
10118+ }
10119+ }
10120+ return $failed;
10121+}
10122+
10123+sub print_templates()
10124+{
10125+ print "Templates for missing messages:\n";
10126+ foreach $tag ( sort { $kmsg_desc{$a} <=> $kmsg_desc{$b} } keys %kmsg_desc ) {
10127+ if (!defined($kmsg_desc{$tag}->{'CHECK'})) {
10128+ next;
10129+ }
10130+ print "/*?\n";
10131+ print " * Text: \"$kmsg_desc{$tag}->{'TEXT'}\"\n";
10132+ print " * Severity: $kmsg_desc{$tag}->{'SEV'}\n";
10133+ $argv = $kmsg_desc{$tag}->{'ARGV'};
10134+ if ($argv ne "") {
10135+ print " * Parameter:\n";
10136+ @parms = split(/\s*,\s*/,$kmsg_desc{$tag}->{'ARGV'});
10137+ $count = 0;
10138+ foreach $parm (@parms) {
10139+ $count += 1;
10140+ if (!($parm eq "")) {
10141+ print " * \@$count: $parm\n";
10142+ }
10143+ }
10144+ }
10145+ print " * Description:\n";
10146+ print " * $kmsg_desc{$tag}->{'DESC'}\n";
10147+ print " * User action:\n";
10148+ print " * $kmsg_desc{$tag}->{'USER'}\n";
10149+ print " */\n\n";
10150+ }
10151+}
10152+
10153+sub write_man_pages()
10154+{
10155+ my ($i, $file);
10156+
10157+ for ($i = 0; $i < $kmsg_count; $i++) {
10158+ $tag = $kmsg_print{$i}->{'TAG'};
10159+ if (!defined($kmsg_desc{$tag}) ||
10160+ defined($kmsg_desc{$tag}->{'CHECK'}) ||
10161+ $kmsg_desc{$tag}->{'DESC'} eq "") {
10162+ next;
10163+ }
10164+ $file = $objtree . "man/" . $tag . ".9";
10165+ if (!open(WR, ">$file")) {
10166+ warn "Error: Cannot open file $file\n";
10167+ $errors++;
10168+ return;
10169+ }
10170+ print WR ".TH \"$tag\" 9 \"Linux Messages\" LINUX\n";
10171+ print WR ".SH Message\n";
10172+ print WR $tag . ": " . $kmsg_desc{$tag}->{'TEXT'} . "\n";
10173+ print WR ".SH Severity\n";
10174+ print WR "$kmsg_desc{$tag}->{'SEV'}\n";
10175+ $argv = $kmsg_desc{$tag}->{'ARGV'};
10176+ if ($argv ne "") {
10177+ print WR ".SH Parameters\n";
10178+ @parms = split(/\s*\n\s*/,$kmsg_desc{$tag}->{'ARGV'});
10179+ foreach $parm (@parms) {
10180+ $parm =~ s/^\s*(.*)\s*$/$1/;
10181+ if (!($parm eq "")) {
10182+ print WR "$parm\n\n";
10183+ }
10184+ }
10185+ }
10186+ print WR ".SH Description";
10187+ print WR "$kmsg_desc{$tag}->{'DESC'}\n";
10188+ $user = $kmsg_desc{$tag}->{'USER'};
10189+ if ($user ne "") {
10190+ print WR ".SH User action";
10191+ print WR "$user\n";
10192+ }
10193+ }
10194+}
10195+
10196+if (defined($ENV{'srctree'})) {
10197+ $srctree = "$ENV{'srctree'}" . "/";
10198+} else {
10199+ $srctree = getcwd;
10200+}
10201+
10202+if (defined($ENV{'objtree'})) {
10203+ $objtree = "$ENV{'objtree'}" . "/";
10204+} else {
10205+ $objtree = getcwd;
10206+}
10207+
10208+if (defined($ENV{'SRCARCH'})) {
10209+ $srcarch = "$ENV{'SRCARCH'}" . "/";
10210+} else {
10211+ print "kmsg-doc called without a valid \$SRCARCH\n";
10212+ exit 1;
10213+}
10214+
10215+$option = shift;
10216+
10217+$cc = shift;
10218+$gcc_options = "-E -D __KMSG_CHECKER ";
10219+foreach $tmp (@ARGV) {
10220+ $tmp =~ s/\(/\\\(/;
10221+ $tmp =~ s/\)/\\\)/;
10222+ $gcc_options .= " $tmp";
10223+ $filename = $tmp;
10224+}
10225+
10226+$component = process_source_file("", $filename);
10227+if ($component ne "") {
10228+ process_source_file($component, $srctree . "Documentation/kmsg/" .
10229+ $srcarch . $component);
10230+ process_source_file($component, $srctree . "Documentation/kmsg/" .
10231+ $component);
10232+}
10233+
10234+process_cpp_file($cc, $gcc_options, $filename, $component);
10235+if ($option eq "check") {
10236+ if (check_messages($component)) {
10237+ print_templates();
10238+ }
10239+} elsif ($option eq "print") {
10240+ write_man_pages();
10241+}
10242+
10243+exit($errors);