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