linux_compat.c (276749) | linux_compat.c (277302) |
---|---|
1/*- 2 * Copyright (c) 2010 Isilon Systems, Inc. 3 * Copyright (c) 2010 iX Systems, Inc. 4 * Copyright (c) 2010 Panasas, Inc. 5 * Copyright (c) 2013, 2014 Mellanox Technologies, Ltd. 6 * All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 329 unchanged lines hidden (view full) --- 338 filp->f_flags = file->f_flag; 339 if (uio->uio_iovcnt != 1) 340 panic("linux_dev_read: uio %p iovcnt %d", 341 uio, uio->uio_iovcnt); 342 if (filp->f_op->read) { 343 bytes = filp->f_op->read(filp, uio->uio_iov->iov_base, 344 uio->uio_iov->iov_len, &uio->uio_offset); 345 if (bytes >= 0) { | 1/*- 2 * Copyright (c) 2010 Isilon Systems, Inc. 3 * Copyright (c) 2010 iX Systems, Inc. 4 * Copyright (c) 2010 Panasas, Inc. 5 * Copyright (c) 2013, 2014 Mellanox Technologies, Ltd. 6 * All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 329 unchanged lines hidden (view full) --- 338 filp->f_flags = file->f_flag; 339 if (uio->uio_iovcnt != 1) 340 panic("linux_dev_read: uio %p iovcnt %d", 341 uio, uio->uio_iovcnt); 342 if (filp->f_op->read) { 343 bytes = filp->f_op->read(filp, uio->uio_iov->iov_base, 344 uio->uio_iov->iov_len, &uio->uio_offset); 345 if (bytes >= 0) { |
346 uio->uio_iov->iov_base += bytes; | 346 uio->uio_iov->iov_base = 347 ((uint8_t *)uio->uio_iov->iov_base) + bytes; |
347 uio->uio_iov->iov_len -= bytes; 348 uio->uio_resid -= bytes; 349 } else 350 error = -bytes; 351 } else 352 error = ENXIO; 353 354 return (error); --- 17 unchanged lines hidden (view full) --- 372 filp->f_flags = file->f_flag; 373 if (uio->uio_iovcnt != 1) 374 panic("linux_dev_write: uio %p iovcnt %d", 375 uio, uio->uio_iovcnt); 376 if (filp->f_op->write) { 377 bytes = filp->f_op->write(filp, uio->uio_iov->iov_base, 378 uio->uio_iov->iov_len, &uio->uio_offset); 379 if (bytes >= 0) { | 348 uio->uio_iov->iov_len -= bytes; 349 uio->uio_resid -= bytes; 350 } else 351 error = -bytes; 352 } else 353 error = ENXIO; 354 355 return (error); --- 17 unchanged lines hidden (view full) --- 373 filp->f_flags = file->f_flag; 374 if (uio->uio_iovcnt != 1) 375 panic("linux_dev_write: uio %p iovcnt %d", 376 uio, uio->uio_iovcnt); 377 if (filp->f_op->write) { 378 bytes = filp->f_op->write(filp, uio->uio_iov->iov_base, 379 uio->uio_iov->iov_len, &uio->uio_offset); 380 if (bytes >= 0) { |
380 uio->uio_iov->iov_base += bytes; | 381 uio->uio_iov->iov_base = 382 ((uint8_t *)uio->uio_iov->iov_base) + bytes; |
381 uio->uio_iov->iov_len -= bytes; 382 uio->uio_resid -= bytes; 383 } else 384 error = -bytes; 385 } else 386 error = ENXIO; 387 388 return (error); --- 104 unchanged lines hidden (view full) --- 493 filp->f_flags = file->f_flag; 494 if (uio->uio_iovcnt != 1) 495 panic("linux_file_read: uio %p iovcnt %d", 496 uio, uio->uio_iovcnt); 497 if (filp->f_op->read) { 498 bytes = filp->f_op->read(filp, uio->uio_iov->iov_base, 499 uio->uio_iov->iov_len, &uio->uio_offset); 500 if (bytes >= 0) { | 383 uio->uio_iov->iov_len -= bytes; 384 uio->uio_resid -= bytes; 385 } else 386 error = -bytes; 387 } else 388 error = ENXIO; 389 390 return (error); --- 104 unchanged lines hidden (view full) --- 495 filp->f_flags = file->f_flag; 496 if (uio->uio_iovcnt != 1) 497 panic("linux_file_read: uio %p iovcnt %d", 498 uio, uio->uio_iovcnt); 499 if (filp->f_op->read) { 500 bytes = filp->f_op->read(filp, uio->uio_iov->iov_base, 501 uio->uio_iov->iov_len, &uio->uio_offset); 502 if (bytes >= 0) { |
501 uio->uio_iov->iov_base += bytes; | 503 uio->uio_iov->iov_base = 504 ((uint8_t *)uio->uio_iov->iov_base) + bytes; |
502 uio->uio_iov->iov_len -= bytes; 503 uio->uio_resid -= bytes; 504 } else 505 error = -bytes; 506 } else 507 error = ENXIO; 508 509 return (error); --- 221 unchanged lines hidden (view full) --- 731 class_register(&miscclass); 732 INIT_LIST_HEAD(&pci_drivers); 733 INIT_LIST_HEAD(&pci_devices); 734 spin_lock_init(&pci_lock); 735 mtx_init(&vmmaplock, "IO Map lock", NULL, MTX_DEF); 736 for (i = 0; i < VMMAP_HASH_SIZE; i++) 737 LIST_INIT(&vmmaphead[i]); 738} | 505 uio->uio_iov->iov_len -= bytes; 506 uio->uio_resid -= bytes; 507 } else 508 error = -bytes; 509 } else 510 error = ENXIO; 511 512 return (error); --- 221 unchanged lines hidden (view full) --- 734 class_register(&miscclass); 735 INIT_LIST_HEAD(&pci_drivers); 736 INIT_LIST_HEAD(&pci_devices); 737 spin_lock_init(&pci_lock); 738 mtx_init(&vmmaplock, "IO Map lock", NULL, MTX_DEF); 739 for (i = 0; i < VMMAP_HASH_SIZE; i++) 740 LIST_INIT(&vmmaphead[i]); 741} |
739 | |
740SYSINIT(linux_compat, SI_SUB_DRIVERS, SI_ORDER_SECOND, linux_compat_init, NULL); 741 742static void 743linux_compat_uninit(void) 744{ 745 kobject_kfree_name(&class_root); 746 kobject_kfree_name(&linux_rootdev.kobj); 747 kobject_kfree_name(&miscclass.kobj); 748} 749SYSUNINIT(linux_compat, SI_SUB_DRIVERS, SI_ORDER_SECOND, linux_compat_uninit, NULL); | 742SYSINIT(linux_compat, SI_SUB_DRIVERS, SI_ORDER_SECOND, linux_compat_init, NULL); 743 744static void 745linux_compat_uninit(void) 746{ 747 kobject_kfree_name(&class_root); 748 kobject_kfree_name(&linux_rootdev.kobj); 749 kobject_kfree_name(&miscclass.kobj); 750} 751SYSUNINIT(linux_compat, SI_SUB_DRIVERS, SI_ORDER_SECOND, linux_compat_uninit, NULL); |