@@ -101,27 +101,6 @@ static int map_hdm_decoder_regs(struct cxl_port *port, void __iomem *crb,
101
101
BIT (CXL_CM_CAP_CAP_ID_HDM ));
102
102
}
103
103
104
- static struct cxl_hdm * devm_cxl_setup_emulated_hdm (struct cxl_port * port ,
105
- struct cxl_endpoint_dvsec_info * info )
106
- {
107
- struct device * dev = & port -> dev ;
108
- struct cxl_hdm * cxlhdm ;
109
-
110
- if (!info -> mem_enabled )
111
- return ERR_PTR (- ENODEV );
112
-
113
- cxlhdm = devm_kzalloc (dev , sizeof (* cxlhdm ), GFP_KERNEL );
114
- if (!cxlhdm )
115
- return ERR_PTR (- ENOMEM );
116
-
117
- cxlhdm -> port = port ;
118
- cxlhdm -> decoder_count = info -> ranges ;
119
- cxlhdm -> target_count = info -> ranges ;
120
- dev_set_drvdata (& port -> dev , cxlhdm );
121
-
122
- return cxlhdm ;
123
- }
124
-
125
104
/**
126
105
* devm_cxl_setup_hdm - map HDM decoder component registers
127
106
* @port: cxl_port to map
@@ -138,13 +117,14 @@ struct cxl_hdm *devm_cxl_setup_hdm(struct cxl_port *port,
138
117
cxlhdm = devm_kzalloc (dev , sizeof (* cxlhdm ), GFP_KERNEL );
139
118
if (!cxlhdm )
140
119
return ERR_PTR (- ENOMEM );
141
-
142
120
cxlhdm -> port = port ;
143
- crb = ioremap (port -> component_reg_phys , CXL_COMPONENT_REG_BLOCK_SIZE );
144
- if (!crb ) {
145
- if (info && info -> mem_enabled )
146
- return devm_cxl_setup_emulated_hdm (port , info );
121
+ dev_set_drvdata (dev , cxlhdm );
147
122
123
+ crb = ioremap (port -> component_reg_phys , CXL_COMPONENT_REG_BLOCK_SIZE );
124
+ if (!crb && info && info -> mem_enabled ) {
125
+ cxlhdm -> decoder_count = info -> ranges ;
126
+ return cxlhdm ;
127
+ } else if (!crb ) {
148
128
dev_err (dev , "No component registers mapped\n" );
149
129
return ERR_PTR (- ENXIO );
150
130
}
@@ -160,8 +140,6 @@ struct cxl_hdm *devm_cxl_setup_hdm(struct cxl_port *port,
160
140
return ERR_PTR (- ENXIO );
161
141
}
162
142
163
- dev_set_drvdata (dev , cxlhdm );
164
-
165
143
return cxlhdm ;
166
144
}
167
145
EXPORT_SYMBOL_NS_GPL (devm_cxl_setup_hdm , CXL );
0 commit comments