11da177e4SLinus Torvalds /* 21da177e4SLinus Torvalds * firmware.c - firmware subsystem hoohaw. 31da177e4SLinus Torvalds * 41da177e4SLinus Torvalds * Copyright (c) 2002-3 Patrick Mochel 51da177e4SLinus Torvalds * Copyright (c) 2002-3 Open Source Development Labs 61da177e4SLinus Torvalds * 71da177e4SLinus Torvalds * This file is released under the GPLv2 81da177e4SLinus Torvalds * 91da177e4SLinus Torvalds */ 101da177e4SLinus Torvalds 111da177e4SLinus Torvalds #include <linux/kobject.h> 121da177e4SLinus Torvalds #include <linux/module.h> 131da177e4SLinus Torvalds #include <linux/init.h> 14a1bdc7aaSBen Dooks #include <linux/device.h> 15a1bdc7aaSBen Dooks 16a1bdc7aaSBen Dooks #include "base.h" 171da177e4SLinus Torvalds 18*b0d78e55SGreg Kroah-Hartman static struct kset *firmware_kset; 191da177e4SLinus Torvalds 20823bccfcSGreg Kroah-Hartman int firmware_register(struct kset *s) 211da177e4SLinus Torvalds { 22*b0d78e55SGreg Kroah-Hartman s->kobj.kset = firmware_kset; 233514facaSGreg Kroah-Hartman s->kobj.ktype = NULL; 241da177e4SLinus Torvalds return subsystem_register(s); 251da177e4SLinus Torvalds } 261da177e4SLinus Torvalds 27823bccfcSGreg Kroah-Hartman void firmware_unregister(struct kset *s) 281da177e4SLinus Torvalds { 291da177e4SLinus Torvalds subsystem_unregister(s); 301da177e4SLinus Torvalds } 311da177e4SLinus Torvalds 321da177e4SLinus Torvalds int __init firmware_init(void) 331da177e4SLinus Torvalds { 34*b0d78e55SGreg Kroah-Hartman firmware_kset = kset_create_and_add("firmware", NULL, NULL); 35*b0d78e55SGreg Kroah-Hartman if (!firmware_kset) 36*b0d78e55SGreg Kroah-Hartman return -ENOMEM; 37*b0d78e55SGreg Kroah-Hartman return 0; 381da177e4SLinus Torvalds } 391da177e4SLinus Torvalds 401da177e4SLinus Torvalds EXPORT_SYMBOL_GPL(firmware_register); 411da177e4SLinus Torvalds EXPORT_SYMBOL_GPL(firmware_unregister); 42