331 return; |
331 return; |
332 } |
332 } |
333 |
333 |
334 /*****************************************************************************/ |
334 /*****************************************************************************/ |
335 |
335 |
|
336 /** |
|
337 Gibt Frame-Inhalte zwecks Debugging aus. |
|
338 */ |
|
339 |
|
340 void ec_print_data(const uint8_t *data, size_t size) |
|
341 { |
|
342 unsigned int i; |
|
343 |
|
344 EC_DBG(""); |
|
345 for (i = 0; i < size; i++) { |
|
346 printk("%02X ", data[i]); |
|
347 if ((i + 1) % 16 == 0) { |
|
348 printk("\n"); |
|
349 EC_DBG(""); |
|
350 } |
|
351 } |
|
352 printk("\n"); |
|
353 } |
|
354 |
|
355 /*****************************************************************************/ |
|
356 |
|
357 /** |
|
358 Gibt Frame-Inhalte zwecks Debugging aus, differentiell. |
|
359 */ |
|
360 |
|
361 void ec_print_data_diff(const uint8_t *d1, /**< Daten 1 */ |
|
362 const uint8_t *d2, /**< Daten 2 */ |
|
363 size_t size /** Anzahl Bytes */ |
|
364 ) |
|
365 { |
|
366 unsigned int i; |
|
367 |
|
368 EC_DBG(""); |
|
369 for (i = 0; i < size; i++) { |
|
370 if (d1[i] == d2[i]) printk(".. "); |
|
371 else printk("%02X ", d2[i]); |
|
372 if ((i + 1) % 16 == 0) { |
|
373 printk("\n"); |
|
374 EC_DBG(""); |
|
375 } |
|
376 } |
|
377 printk("\n"); |
|
378 } |
|
379 |
|
380 /*****************************************************************************/ |
|
381 |
336 module_init(ec_init_module); |
382 module_init(ec_init_module); |
337 module_exit(ec_cleanup_module); |
383 module_exit(ec_cleanup_module); |
338 |
384 |
339 EXPORT_SYMBOL(ecdev_register); |
385 EXPORT_SYMBOL(ecdev_register); |
340 EXPORT_SYMBOL(ecdev_unregister); |
386 EXPORT_SYMBOL(ecdev_unregister); |