Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 63870295 authored by Paul Mundt's avatar Paul Mundt
Browse files

maple: Clean up maple_driver_register/unregister routines.



These were completely inconsistent. Clean these up to take a maple_driver
pointer directly for consistency.

Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent 459021fe
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -240,12 +240,12 @@ static struct maple_driver dc_kbd_driver = {

static int __init dc_kbd_init(void)
{
	return maple_driver_register(&dc_kbd_driver.drv);
	return maple_driver_register(&dc_kbd_driver);
}

static void __exit dc_kbd_exit(void)
{
	driver_unregister(&dc_kbd_driver.drv);
	maple_driver_unregister(&dc_kbd_driver);
}

module_init(dc_kbd_init);
+26 −11
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@
 * Core maple bus functionality
 *
 *  Copyright (C) 2007, 2008 Adrian McMenamin
 *  Copyright (C) 2001 - 2008 Paul Mundt
 *
 * Based on 2.4 code by:
 *
@@ -31,7 +32,7 @@
#include <mach/dma.h>
#include <mach/sysasic.h>

MODULE_AUTHOR("Yaegshi Takeshi, Paul Mundt, M.R. Brown, Adrian McMenamin");
MODULE_AUTHOR("Yaegashi Takeshi, Paul Mundt, M. R. Brown, Adrian McMenamin");
MODULE_DESCRIPTION("Maple bus driver for Dreamcast");
MODULE_LICENSE("GPL v2");
MODULE_SUPPORTED_DEVICE("{{SEGA, Dreamcast/Maple}}");
@@ -65,19 +66,35 @@ static bool checked[4];
static struct maple_device *baseunits[4];

/**
 *  maple_driver_register - register a device driver
 *  automatically makes the driver bus a maple bus
 *  @drv: the driver to be registered
 * maple_driver_register - register a maple driver
 * @drv: maple driver to be registered.
 *
 * Registers the passed in @drv, while updating the bus type.
 * Devices with matching function IDs will be automatically probed.
 */
int maple_driver_register(struct device_driver *drv)
int maple_driver_register(struct maple_driver *drv)
{
	if (!drv)
		return -EINVAL;
	drv->bus = &maple_bus_type;
	return driver_register(drv);

	drv->drv.bus = &maple_bus_type;

	return driver_register(&drv->drv);
}
EXPORT_SYMBOL_GPL(maple_driver_register);

/**
 * maple_driver_unregister - unregister a maple driver.
 * @drv: maple driver to unregister.
 *
 * Cleans up after maple_driver_register(). To be invoked in the exit
 * path of any module drivers.
 */
void maple_driver_unregister(struct maple_driver *drv)
{
	driver_unregister(&drv->drv);
}

/* set hardware registers to enable next round of dma */
static void maplebus_dma_reset(void)
{
@@ -724,11 +741,9 @@ static int maple_get_dma_buffer(void)
static int match_maple_bus_driver(struct device *devptr,
				  struct device_driver *drvptr)
{
	struct maple_driver *maple_drv;
	struct maple_device *maple_dev;
	struct maple_driver *maple_drv = to_maple_driver(drvptr);
	struct maple_device *maple_dev = to_maple_dev(devptr);

	maple_drv = container_of(drvptr, struct maple_driver, drv);
	maple_dev = container_of(devptr, struct maple_device, dev);
	/* Trap empty port case */
	if (maple_dev->devinfo.function == 0xFFFFFFFF)
		return 0;
+3 −1
Original line number Diff line number Diff line
@@ -70,7 +70,9 @@ void maple_getcond_callback(struct maple_device *dev,
			    void (*callback) (struct mapleq * mq),
			    unsigned long interval,
			    unsigned long function);
int maple_driver_register(struct device_driver *drv);
int maple_driver_register(struct maple_driver *);
void maple_driver_unregister(struct maple_driver *);

int maple_add_packet_sleeps(struct maple_device *mdev, u32 function,
	u32 command, u32 length, void *data);
void maple_clear_dev(struct maple_device *mdev);