/* MN10300 Misaligned multibyte-word I/O1*2* Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.3* Written by David Howells ([email protected])4*5* This program is free software; you can redistribute it and/or6* modify it under the terms of the GNU General Public Licence7* as published by the Free Software Foundation; either version8* 2 of the Licence, or (at your option) any later version.9*/10#include <linux/module.h>11#include <linux/string.h>12#include <linux/kernel.h>13#include <asm/io.h>1415/*16* output data from a potentially misaligned buffer17*/18void __outsl(unsigned long addr, const void *buffer, int count)19{20const unsigned char *buf = buffer;21unsigned long val;2223while (count--) {24memcpy(&val, buf, 4);25outl(val, addr);26buf += 4;27}28}29EXPORT_SYMBOL(__outsl);303132