From alan@lxorguk.ukuu.org.uk Wed Aug 12 13:20:00 2009 From: Alan Cox Date: Fri, 07 Aug 2009 19:23:41 +0100 Subject: Staging: sep: squish some of the wrapper functions To: greg@kroah.com, mark.a.allyn@intel.com Message-ID: <20090807182339.19360.48060.stgit@localhost.localdomain> From: Alan Cox Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman --- drivers/staging/sep/sep_driver.c | 48 +++++-------------------------- drivers/staging/sep/sep_driver_ext_api.h | 11 ------- 2 files changed, 8 insertions(+), 51 deletions(-) --- a/drivers/staging/sep/sep_driver.c +++ b/drivers/staging/sep/sep_driver.c @@ -196,11 +196,6 @@ static DECLARE_WAIT_QUEUE_HEAD(g_sep_eve static int sep_register_driver_to_fs(void); /* - this function unregisters driver from fs -*/ -static void sep_unregister_driver_from_fs(void); - -/* this function calculates the size of data that can be inserted into the lli table from this array the condition is that either the table is full (all etnries are entered), or there are no more entries in the lli array @@ -383,14 +378,6 @@ static int sep_lock_user_pages(unsigned -----------------------------------------------*/ /* - This functions locks the area of the resisnd and cache sep code -*/ -static void sep_lock_cache_resident_area(void) -{ - return; -} - -/* This functions copies the cache and resident from their source location into destination memory, which is external to Linux VM and is given as physical address @@ -2202,9 +2189,6 @@ static int sep_realloc_cache_resident_ha if (error) goto end_function; - /* lock the area (if needed) */ - sep_lock_cache_resident_area(); - command_args.new_base_addr = sep_dev->phys_shared_area_addr; /* find the new base address according to the lowest address between @@ -2765,17 +2749,6 @@ static struct pci_driver sep_pci_driver .probe = sep_probe }; -/* - this function registers th driver to - the device subsystem( either PCI, USB, etc) -*/ -static int sep_register_driver_to_device(void) -{ - return pci_register_driver(&sep_pci_driver); -} - - - /* major and minor device numbers */ static dev_t sep_devno; @@ -2827,16 +2800,6 @@ end_function: return ret_val; } -/* - this function unregisters driver from fs -*/ -static void sep_unregister_driver_from_fs(void) -{ - cdev_del(&sep_cdev); - /* unregister dev numbers */ - unregister_chrdev_region(sep_devno, 1); -} - /*-------------------------------------------------------------- init function @@ -2864,7 +2827,8 @@ static int __init sep_init(void) /* set the starting mode to blocking */ sep_dev->block_mode_flag = 1; - ret_val = sep_register_driver_to_device(); + /* FIXME: Probe can occur before we are ready to survive a probe */ + ret_val = pci_register_driver(&sep_pci_driver); if (ret_val) { edbg("sep_driver:sep_driver_to_device failed, ret_val is %d\n", ret_val); goto end_function_unregister_from_fs; @@ -2920,7 +2884,9 @@ static int __init sep_init(void) goto end_function; end_function_unregister_from_fs: /* unregister from fs */ - sep_unregister_driver_from_fs(); + cdev_del(&sep_cdev); + /* unregister dev numbers */ + unregister_chrdev_region(sep_devno, 1); end_function_deallocate_sep_shared_area: /* de-allocate shared area */ sep_unmap_and_free_shared_area(size, sep_dev->shared_area_addr, sep_dev->phys_shared_area_addr); @@ -2944,7 +2910,9 @@ static void __exit sep_exit(void) dbg("SEP Driver:--------> Exit start\n"); /* unregister from fs */ - sep_unregister_driver_from_fs(); + cdev_del(&sep_cdev); + /* unregister dev numbers */ + unregister_chrdev_region(sep_devno, 1); /* calculate the total size for de-allocation */ size = SEP_DRIVER_MESSAGE_SHARED_AREA_SIZE_IN_BYTES + SEP_DRIVER_SYNCHRONIC_DMA_TABLES_AREA_SIZE_IN_BYTES + SEP_DRIVER_DATA_POOL_SHARED_AREA_SIZE_IN_BYTES + SEP_DRIVER_FLOW_DMA_TABLES_AREA_SIZE_IN_BYTES + SEP_DRIVER_STATIC_AREA_SIZE_IN_BYTES + SEP_DRIVER_SYSTEM_DATA_MEMORY_SIZE_IN_BYTES; --- a/drivers/staging/sep/sep_driver_ext_api.h +++ b/drivers/staging/sep/sep_driver_ext_api.h @@ -42,11 +42,6 @@ this function loads the ROM code in SEP static void sep_load_rom_code(void); /* -This functions locks the area of the resident and cache sep code (if possible) -*/ -static void sep_lock_cache_resident_area(void); - -/* This functions copies the cache and resident from their source location into destination memory, which is external to Linux VM and is given as physical address @@ -86,10 +81,4 @@ to the physical address. It can be eithe */ static unsigned long sep_shared_area_phys_to_virt(unsigned long phys_address); -/* -This function registers th driver to the device -subsystem (either PCI, USB, etc) -*/ -static int sep_register_driver_to_device(void); - #endif /*__SEP_DRIVER_EXT_API_H__*/