static void __exit ivpnss_exit(void)
{
	unregister_ss_entry(&ivpnss_operations);

	if (ivpnss_map8bit)
		iounmap(ivpnss_map8bit);
	if (ivpnss_map16bit)
		iounmap(ivpnss_map16bit);

	unregister_chrdev(IVPNSS_MAJOR, IVPNSS_NAME);
}
Esempio n. 2
0
File: pxa.c Progetto: hugh712/Jollen
/* pxa_pcmcia_driver_shutdown()
 * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 * Invokes the low-level kernel service to free IRQs associated with this
 * socket controller and reset GPIO edge detection.
 */
static void __exit pxa_pcmcia_driver_shutdown(void){

  del_timer_sync(&poll_timer);
  unregister_ss_entry(&pxa_pcmcia_operations);
#ifdef CONFIG_CPU_FREQ
  cpufreq_unregister_notifier(&pxa_pcmcia_notifier_block);
#endif
  pcmcia_low_level->shutdown();
  flush_scheduled_tasks();

  DEBUG(1, "pxa_cs: shutdown complete\n");
}
Esempio n. 3
0
static void __exit au1000_pcmcia_driver_shutdown(void)
{
	int i;

	del_timer_sync(&poll_timer);
	unregister_ss_entry(&au1000_pcmcia_operations);
	pcmcia_low_level->shutdown();
	flush_scheduled_tasks();
	for(i=0; i < socket_count; i++) {
		if (pcmcia_socket[i].virt_io) 
			iounmap((void *)pcmcia_socket[i].virt_io);
	}
	DEBUG(1, "au1000: shutdown complete\n");
}
Esempio n. 4
0
static void __exit exit_hs(void)
{
    	u_long flags;
	int i;
	
	save_and_cli(flags);

    	/*
	 * Release kernel resources
	 */
	for (i=0 ; i<HS_MAX_SOCKETS ; i++)
	    hs_exit_socket(&hs_sockets[i]);
	unregister_ss_entry(&hs_operations);
	
	restore_flags(flags);
}
/* sa1100_pcmcia_driver_shutdown()
 * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 * Invokes the low-level kernel service to free IRQs associated with this
 * socket controller and reset GPIO edge detection.
 */
static void __exit sa1100_pcmcia_driver_shutdown(void)
{
  int i;

  del_timer_sync(&poll_timer);

  unregister_ss_entry(&sa1100_pcmcia_operations);

#ifdef CONFIG_CPU_FREQ
  cpufreq_unregister_notifier(&sa1100_pcmcia_notifier_block);
#endif

  for (i = 0; i < sa1100_pcmcia_socket_count; i++) {
    iounmap(sa1100_pcmcia_socket[i].virt_io);
    release_mem_region(_PCMCIA(i), PCMCIASp);
  }

  pcmcia_low_level->shutdown();

  flush_scheduled_tasks();
}
/* ssa_pcmcia_driver_shutdown()
 * ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 * Invokes the low-level kernel service to free IRQs associated with this
 * socket controller and reset GPIO edge detection.
 */
static void __exit ssa_pcmcia_driver_shutdown (void)
{
   del_timer_sync (&poll_timer);
   unregister_ss_entry (&ssa_pcmcia_operations);
   flush_scheduled_tasks();
}
Esempio n. 7
0
static void __exit clps6700_exit(void)
{
	unregister_ss_entry(&clps6700_operations);
	clps6700_free_resources();
}