brintos

brintos / linux-shallow public Read only

0
0
Text · 1.2 KiB · 1447d08 Raw
65 lines · c
1// SPDX-License-Identifier: GPL-2.02/*3 *    HMC Drive DVD Module4 *5 *    Copyright IBM Corp. 20136 *    Author(s): Ralf Hoppe (rhoppe@de.ibm.com)7 */8 9#define KMSG_COMPONENT "hmcdrv"10#define pr_fmt(fmt) KMSG_COMPONENT ": " fmt11 12#include <linux/kernel.h>13#include <linux/module.h>14#include <linux/moduleparam.h>15#include <linux/stat.h>16 17#include "hmcdrv_ftp.h"18#include "hmcdrv_dev.h"19#include "hmcdrv_cache.h"20 21MODULE_LICENSE("GPL");22MODULE_AUTHOR("Copyright 2013 IBM Corporation");23MODULE_DESCRIPTION("HMC drive DVD access");24 25/*26 * module parameter 'cachesize'27 */28static size_t hmcdrv_mod_cachesize = HMCDRV_CACHE_SIZE_DFLT;29module_param_named(cachesize, hmcdrv_mod_cachesize, ulong, S_IRUGO);30 31/**32 * hmcdrv_mod_init() - module init function33 */34static int __init hmcdrv_mod_init(void)35{36	int rc = hmcdrv_ftp_probe(); /* perform w/o cache */37 38	if (rc)39		return rc;40 41	rc = hmcdrv_cache_startup(hmcdrv_mod_cachesize);42 43	if (rc)44		return rc;45 46	rc = hmcdrv_dev_init();47 48	if (rc)49		hmcdrv_cache_shutdown();50 51	return rc;52}53 54/**55 * hmcdrv_mod_exit() - module exit function56 */57static void __exit hmcdrv_mod_exit(void)58{59	hmcdrv_dev_exit();60	hmcdrv_cache_shutdown();61}62 63module_init(hmcdrv_mod_init);64module_exit(hmcdrv_mod_exit);65