Changes in uspace/drv/nic/e1k/e1k.c [807be7e:870841cf] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/nic/e1k/e1k.c
r807be7e r870841cf 1 1 /* 2 * Copyright (c) 2025 Jiri Svoboda 2 3 * Copyright (c) 2011 Zdenek Bouska 3 4 * All rights reserved. … … 220 221 221 222 static errno_t e1000_dev_add(ddf_dev_t *); 223 static errno_t e1000_dev_quiesce(ddf_dev_t *); 222 224 223 225 /** Basic driver operations for E1000 driver */ 224 226 static driver_ops_t e1000_driver_ops = { 225 .dev_add = e1000_dev_add 227 .dev_add = e1000_dev_add, 228 .dev_quiesce = e1000_dev_quiesce 226 229 }; 227 230 … … 1244 1247 * 1245 1248 * @param icall IPC call structure 1246 * @param dev E1000 device 1247 * 1248 */ 1249 static void e1000_interrupt_handler(ipc_call_t *icall, 1250 ddf_dev_t *dev) 1249 * @param arg Argument (nic_t *) 1250 * 1251 */ 1252 static void e1000_interrupt_handler(ipc_call_t *icall, void *arg) 1251 1253 { 1252 1254 uint32_t icr = (uint32_t) ipc_get_arg2(icall); 1253 nic_t *nic = NIC_DATA_DEV(dev);1255 nic_t *nic = (nic_t *)arg; 1254 1256 e1000_t *e1000 = DRIVER_DATA_NIC(nic); 1255 1257 … … 1270 1272 * 1271 1273 */ 1272 inlinestatic errno_t e1000_register_int_handler(nic_t *nic,1274 static errno_t e1000_register_int_handler(nic_t *nic, 1273 1275 cap_irq_handle_t *handle) 1274 1276 { … … 1283 1285 1284 1286 errno_t rc = register_interrupt_handler(nic_get_ddf_dev(nic), e1000->irq, 1285 e1000_interrupt_handler, &e1000_irq_code, handle);1287 e1000_interrupt_handler, (void *)nic, &e1000_irq_code, handle); 1286 1288 1287 1289 fibril_mutex_unlock(&irq_reg_mutex); … … 1919 1921 * 1920 1922 */ 1921 inlinestatic void e1000_delete_dev_data(ddf_dev_t *dev)1923 static void e1000_delete_dev_data(ddf_dev_t *dev) 1922 1924 { 1923 1925 assert(dev); … … 2224 2226 } 2225 2227 2228 /** Quiesce E1000 device. 2229 * 2230 * @param dev E1000 device. 2231 * 2232 */ 2233 errno_t e1000_dev_quiesce(ddf_dev_t *dev) 2234 { 2235 nic_t *nic = ddf_dev_data_get(dev); 2236 e1000_t *e1000 = DRIVER_DATA_NIC(nic); 2237 errno_t rc; 2238 2239 ddf_msg(LVL_DEBUG, "e1000_dev_quiesce()"); 2240 2241 e1000_disable_interrupts(e1000); 2242 rc = e1000_reset(nic); 2243 if (rc != EOK) 2244 ddf_msg(LVL_ERROR, "e1000_dev_quiesce failed"); 2245 return rc; 2246 } 2247 2226 2248 /** Read 16-bit value from EEPROM of E1000 adapter 2227 2249 *
Note:
See TracChangeset
for help on using the changeset viewer.