Example #1
0
static int rtc_probe(struct exi_device *dev)
{
	struct rtc_private *priv = &rtc_private;
	unsigned long flags;
	int retval = -ENODEV;

	if (exi_device_get(dev)) {
		spin_lock_init(&priv->lock);

		exi_set_drvdata(dev, priv);
		priv->dev = dev;

		memset(&priv->sram, 0, sizeof(struct gcn_sram));
		sram_load(dev);

		spin_lock_irqsave(&priv->lock, flags);
		ppc_md.set_rtc_time = gcn_set_rtc_time;
		ppc_md.get_rtc_time = gcn_get_rtc_time;
		spin_unlock_irqrestore(&priv->lock, flags);
		
		retval = 0;
	}

	return retval;
}
Example #2
0
static int gcnrtc_probe(struct exi_device *dev)
{
	struct gcnrtc_drvdata *drvdata = &gcnrtc_drvdata;
	unsigned long flags;
	int retval = -ENODEV;

	if (exi_device_get(dev)) {
		spin_lock_init(&drvdata->lock);

		exi_set_drvdata(dev, drvdata);
		drvdata->dev = dev;

		memset(&drvdata->sram, 0, sizeof(struct gcn_sram));
		sram_load(dev);

		spin_lock_irqsave(&drvdata->lock, flags);
		ppc_md.set_rtc_time = gcnrtc_plat_rtc_set_time;
		ppc_md.get_rtc_time = gcnrtc_plat_rtc_get_time;
		spin_unlock_irqrestore(&drvdata->lock, flags);

		drvdata->rtc_dev = rtc_device_register(DRV_MODULE_NAME,
						       &dev->dev,
						       &gcnrtc_ops,
						       THIS_MODULE);
		retval = 0;
	}

	return retval;
}
Example #3
0
void loader_init(char *s)
{
	char *name, *p;

	romfile = s;
	rom_load();
	vid_settitle(rom.name);
	

	name = strdup(base(romfile));
	p = (char *) strchr(name, '.');
	if (p) *p = 0;

	sramfile = malloc(strlen(savedir) + strlen(name) + 7);
	sprintf(sramfile, "%s%s.sav", savedir, name);
	rtcfile = malloc(strlen(savedir) + strlen(name) + 7);
	sprintf(rtcfile, "%s%s.rtc", savedir, name);
	
	printf("Loading sramfile: %s\n", sramfile);
	printf("Loading rtcfile: %s\n", rtcfile);

	sram_load();
	rtc_load();

}
Example #4
0
void loader_init(char *s)
{
	char *name, *p;
	DIR* dir;
        printf("%s - %s\n",s,savedir);
//	sys_checkdir(savedir, 1); /* needs to be writable */
	dir=opendir(savedir);
	if(!dir) {
	  mkdir(savedir,0);
          printf("Savedir created!");
        }         
	else closedir(dir);
	romfile = s;
      printf("Loading rom...\n");
	rom_load();
      printf("Rom loaded!\n");

	vid_settitle(rom.name);

        
	if (savename && *savename)
	{
		if (savename[0] == '-' && savename[1] == 0)
			name = ldup(rom.name);
		else name = strdup(savename);
	}
	else if (romfile && *base(romfile) && strcmp(romfile, "-"))
	{
		name = strdup(base(romfile));
		p = strchr(name, '.');
		if (p) *p = 0;
	}
	else name = ldup(rom.name);
     // name=rom.name;

	saveprefix = malloc(strlen(savedir) + strlen(name) + 2);
	sprintf(saveprefix, "%s/%s", savedir, name);

	sramfile = malloc(strlen(saveprefix) + 5);
	strcpy(sramfile, saveprefix);
	strcat(sramfile, ".sav");

	rtcfile = malloc(strlen(saveprefix) + 5);
	strcpy(rtcfile, saveprefix);
	strcat(rtcfile, ".rtc");
	printf("before sram / rtc load ...");
	sram_load();
	rtc_load();
        printf("       done\n");
//	atexit(cleanup);
}
Example #5
0
void loader_init(char *s)
{
	char *name, *p;

	sys_checkdir(savedir, 1); /* needs to be writable */

	romfile = s;
	rom_load();
	vid_settitle(rom.name);
	if (savename && *savename)
	{
		if (savename[0] == '-' && savename[1] == 0)
			name = ldup(rom.name);
		else name = strdup(savename);
	}
	else if (romfile && *base(romfile) && strcmp(romfile, "-"))
	{
		name = strdup(base(romfile));
		p = strchr(name, '.');
		if (p) *p = 0;
	}
	else name = ldup(rom.name);
	
	saveprefix = malloc(strlen(savedir) + strlen(name) + 2);
	sprintf(saveprefix, "%s/%s", savedir, name);

	sramfile = malloc(strlen(saveprefix) + 5);
	strcpy(sramfile, saveprefix);
	strcat(sramfile, ".sav");

	rtcfile = malloc(strlen(saveprefix) + 5);
	strcpy(rtcfile, saveprefix);
	strcat(rtcfile, ".rtc");
	
	sram_load();
	rtc_load();

	atexit(cleanup);
}
Example #6
0
static void gbcLoadSRAM()
{
	save_sram = 0;
	if (enable_sram)
		sram_load();
}