1/* -*- mode: c; c-basic-offset: 8 -*- */ 2 3/* 4 * MCA driver support functions for sysfs. 5 * 6 * (C) 2002 James Bottomley <James.Bottomley@HansenPartnership.com> 7 * 8**----------------------------------------------------------------------------- 9** 10** This program is free software; you can redistribute it and/or modify 11** it under the terms of the GNU General Public License as published by 12** the Free Software Foundation; either version 2 of the License, or 13** (at your option) any later version. 14** 15** This program is distributed in the hope that it will be useful, 16** but WITHOUT ANY WARRANTY; without even the implied warranty of 17** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18** GNU General Public License for more details. 19** 20** You should have received a copy of the GNU General Public License 21** along with this program; if not, write to the Free Software 22** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 23** 24**----------------------------------------------------------------------------- 25 */ 26 27#include <linux/device.h> 28#include <linux/mca.h> 29#include <linux/module.h> 30 31int mca_register_driver(struct mca_driver *mca_drv) 32{ 33 int r; 34 35 if (MCA_bus) { 36 mca_drv->driver.bus = &mca_bus_type; 37 if ((r = driver_register(&mca_drv->driver)) < 0) 38 return r; 39 mca_drv->integrated_id = 0; 40 } 41 42 return 0; 43} 44EXPORT_SYMBOL(mca_register_driver); 45 46int mca_register_driver_integrated(struct mca_driver *mca_driver, 47 int integrated_id) 48{ 49 int r = mca_register_driver(mca_driver); 50 51 if (!r) 52 mca_driver->integrated_id = integrated_id; 53 54 return r; 55} 56EXPORT_SYMBOL(mca_register_driver_integrated); 57 58void mca_unregister_driver(struct mca_driver *mca_drv) 59{ 60 if (MCA_bus) 61 driver_unregister(&mca_drv->driver); 62} 63EXPORT_SYMBOL(mca_unregister_driver); 64