[S390] cio: Get rid of css_characteristics_avail.

Checking for the validity of the css_*_characteristics is
superfluous since they stay 0 for non-successful scsc.

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
This commit is contained in:
Cornelia Huck 2008-07-14 09:58:57 +02:00 committed by Heiko Carstens
parent d2fec59551
commit 75784c0087
5 changed files with 5 additions and 17 deletions

View File

@ -415,8 +415,7 @@ int chp_new(struct chp_id chpid)
goto out_free; goto out_free;
} }
/* Get channel-measurement characteristics. */ /* Get channel-measurement characteristics. */
if (css_characteristics_avail && css_chsc_characteristics.scmc if (css_chsc_characteristics.scmc && css_chsc_characteristics.secm) {
&& css_chsc_characteristics.secm) {
ret = chsc_get_channel_measurement_chars(chp); ret = chsc_get_channel_measurement_chars(chp);
if (ret) if (ret)
goto out_free; goto out_free;

View File

@ -78,7 +78,6 @@ struct chsc_ssd_info {
extern int chsc_get_ssd_info(struct subchannel_id schid, extern int chsc_get_ssd_info(struct subchannel_id schid,
struct chsc_ssd_info *ssd); struct chsc_ssd_info *ssd);
extern int chsc_determine_css_characteristics(void); extern int chsc_determine_css_characteristics(void);
extern int css_characteristics_avail;
extern int chsc_alloc_sei_area(void); extern int chsc_alloc_sei_area(void);
extern void chsc_free_sei_area(void); extern void chsc_free_sei_area(void);

View File

@ -1344,8 +1344,7 @@ static int __init init_cmf(void)
* to basic mode. * to basic mode.
*/ */
if (format == CMF_AUTODETECT) { if (format == CMF_AUTODETECT) {
if (!css_characteristics_avail || if (!css_general_characteristics.ext_mb) {
!css_general_characteristics.ext_mb) {
format = CMF_BASIC; format = CMF_BASIC;
} else { } else {
format = CMF_EXTENDED; format = CMF_EXTENDED;

View File

@ -30,8 +30,6 @@ static int max_ssid = 0;
struct channel_subsystem *channel_subsystems[__MAX_CSSID + 1]; struct channel_subsystem *channel_subsystems[__MAX_CSSID + 1];
int css_characteristics_avail = 0;
int int
for_each_subchannel(int(*fn)(struct subchannel_id, void *), void *data) for_each_subchannel(int(*fn)(struct subchannel_id, void *), void *data)
{ {
@ -611,7 +609,7 @@ __init_channel_subsystem(struct subchannel_id schid, void *data)
static void __init static void __init
css_generate_pgid(struct channel_subsystem *css, u32 tod_high) css_generate_pgid(struct channel_subsystem *css, u32 tod_high)
{ {
if (css_characteristics_avail && css_general_characteristics.mcss) { if (css_general_characteristics.mcss) {
css->global_pgid.pgid_high.ext_cssid.version = 0x80; css->global_pgid.pgid_high.ext_cssid.version = 0x80;
css->global_pgid.pgid_high.ext_cssid.cssid = css->cssid; css->global_pgid.pgid_high.ext_cssid.cssid = css->cssid;
} else { } else {
@ -748,8 +746,6 @@ init_channel_subsystem (void)
ret = chsc_determine_css_characteristics(); ret = chsc_determine_css_characteristics();
if (ret == -ENOMEM) if (ret == -ENOMEM)
goto out; /* No need to continue. */ goto out; /* No need to continue. */
if (ret == 0)
css_characteristics_avail = 1;
ret = chsc_alloc_sei_area(); ret = chsc_alloc_sei_area();
if (ret) if (ret)
@ -793,8 +789,7 @@ init_channel_subsystem (void)
ret = device_register(&css->device); ret = device_register(&css->device);
if (ret) if (ret)
goto out_free_all; goto out_free_all;
if (css_characteristics_avail && if (css_chsc_characteristics.secm) {
css_chsc_characteristics.secm) {
ret = device_create_file(&css->device, ret = device_create_file(&css->device,
&dev_attr_cm_enable); &dev_attr_cm_enable);
if (ret) if (ret)
@ -832,7 +827,7 @@ out_unregister:
i--; i--;
css = channel_subsystems[i]; css = channel_subsystems[i];
device_unregister(&css->pseudo_subchannel->dev); device_unregister(&css->pseudo_subchannel->dev);
if (css_characteristics_avail && css_chsc_characteristics.secm) if (css_chsc_characteristics.secm)
device_remove_file(&css->device, device_remove_file(&css->device,
&dev_attr_cm_enable); &dev_attr_cm_enable);
device_unregister(&css->device); device_unregister(&css->device);
@ -956,4 +951,3 @@ subsys_initcall(init_channel_subsystem);
MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");
EXPORT_SYMBOL(css_bus_type); EXPORT_SYMBOL(css_bus_type);
EXPORT_SYMBOL_GPL(css_characteristics_avail);

View File

@ -2354,9 +2354,6 @@ tiqdio_check_chsc_availability(void)
{ {
char dbf_text[15]; char dbf_text[15];
if (!css_characteristics_avail)
return -EIO;
/* Check for bit 41. */ /* Check for bit 41. */
if (!css_general_characteristics.aif) { if (!css_general_characteristics.aif) {
QDIO_PRINT_WARN("Adapter interruption facility not " \ QDIO_PRINT_WARN("Adapter interruption facility not " \