2013-01-21 17:23:09 +00:00
/*
* Copyright ( C ) 2007 Google , Inc .
* Copyright ( C ) 2011 Intel , Inc .
* Copyright ( C ) 2013 Intel , Inc .
*
* This software is licensed under the terms of the GNU General Public
* License version 2 , as published by the Free Software Foundation , and
* may be copied , distributed , and modified under those terms .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
*/
# include <linux/kernel.h>
# include <linux/irq.h>
# include <linux/platform_device.h>
/*
* Where in virtual device memory the IO devices ( timers , system controllers
* and so on )
*/
# define GOLDFISH_PDEV_BUS_BASE (0xff001000)
# define GOLDFISH_PDEV_BUS_END (0xff7fffff)
# define GOLDFISH_PDEV_BUS_IRQ (4)
# define GOLDFISH_TTY_BASE (0x2000)
static struct resource goldfish_pdev_bus_resources [ ] = {
{
. start = GOLDFISH_PDEV_BUS_BASE ,
. end = GOLDFISH_PDEV_BUS_END ,
. flags = IORESOURCE_MEM ,
} ,
{
. start = GOLDFISH_PDEV_BUS_IRQ ,
. end = GOLDFISH_PDEV_BUS_IRQ ,
. flags = IORESOURCE_IRQ ,
}
} ;
2017-02-15 11:11:50 +01:00
static bool goldfish_enable __initdata ;
static int __init goldfish_setup ( char * str )
{
goldfish_enable = true ;
return 0 ;
}
__setup ( " goldfish " , goldfish_setup ) ;
2013-01-21 17:23:09 +00:00
static int __init goldfish_init ( void )
{
2017-02-15 11:11:50 +01:00
if ( ! goldfish_enable )
return - ENODEV ;
2013-01-21 17:23:09 +00:00
platform_device_register_simple ( " goldfish_pdev_bus " , - 1 ,
2017-02-15 11:11:50 +01:00
goldfish_pdev_bus_resources , 2 ) ;
2013-01-21 17:23:09 +00:00
return 0 ;
}
device_initcall ( goldfish_init ) ;