Commit 524b0b63 authored by Benjamin Romer's avatar Benjamin Romer Committed by Greg Kroah-Hartman

staging: unisys: simplify controlvm channel address function

There is no reason to have controlvm_get_channel_address() defined in a
separate file. Move it to visorchipset_main.c, remove the no-op functions
controlvm_init() and controlvm_deinit() from visorchipset_main.c, and remove
the controlvm.h and controlvm_direct.c files from the module.
Signed-off-by: default avatarBenjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent ea702e76
......@@ -4,8 +4,7 @@
obj-$(CONFIG_UNISYS_VISORCHIPSET) += visorchipset.o
visorchipset-y := visorchipset_main.o controlvm_direct.o file.o \
parser.o
visorchipset-y := visorchipset_main.o file.o parser.o
ccflags-y += -Idrivers/staging/unisys/include
ccflags-y += -Idrivers/staging/unisys/uislib
......
/* controlvm.h
*
* Copyright (C) 2010 - 2013 UNISYS CORPORATION
* All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* 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, GOOD TITLE or
* NON INFRINGEMENT. See the GNU General Public License for more
* details.
*/
#ifndef __CONTROLVM_H__
#define __CONTROLVM_H__
#include "timskmod.h"
int controlvm_init(void);
void controlvm_deinit(void);
HOSTADDRESS controlvm_get_channel_address(void);
#endif
/* controlvm_direct.c
*
* Copyright (C) 2010 - 2013 UNISYS CORPORATION
* All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* 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, GOOD TITLE or
* NON INFRINGEMENT. See the GNU General Public License for more
* details.
*/
/* This is a controlvm-related code that is dependent upon firmware running
* on a virtual partition.
*/
#include "globals.h"
#include "uisutils.h"
#include "controlvm.h"
#define CURRENT_FILE_PC VISOR_CHIPSET_PC_controlvm_direct_c
/* We can fill in this code when we learn how to make vmcalls... */
int controlvm_init(void)
{
return 0;
}
void controlvm_deinit(void)
{
}
HOSTADDRESS controlvm_get_channel_address(void)
{
static BOOL warned = FALSE;
U64 addr = 0;
U32 size = 0;
if (!VMCALL_SUCCESSFUL(Issue_VMCALL_IO_CONTROLVM_ADDR(&addr, &size))) {
if (!warned) {
ERRDRV("%s - vmcall to determine controlvm channel addr failed",
__func__);
warned = TRUE;
}
return 0;
}
INFODRV("controlvm addr=%Lx", addr);
return addr;
}
......@@ -16,7 +16,6 @@
*/
#include "globals.h"
#include "controlvm.h"
#include "visorchipset.h"
#include "procobjecttree.h"
#include "visorchannel.h"
......@@ -1837,6 +1836,20 @@ handle_command(CONTROLVM_MESSAGE inmsg, HOSTADDRESS channel_addr)
return TRUE;
}
HOSTADDRESS controlvm_get_channel_address(void)
{
U64 addr = 0;
U32 size = 0;
if (!VMCALL_SUCCESSFUL(Issue_VMCALL_IO_CONTROLVM_ADDR(&addr, &size))) {
ERRDRV("%s - vmcall to determine controlvm channel addr failed",
__func__);
return 0;
}
INFODRV("controlvm addr=%Lx", addr);
return addr;
}
static void
controlvm_periodic_work(struct work_struct *work)
{
......@@ -2633,7 +2646,6 @@ visorchipset_init(void)
goto Away;
}
controlvm_init();
MajorDev = MKDEV(visorchipset_major, 0);
rc = visorchipset_file_init(MajorDev, &ControlVm_channel);
if (rc < 0) {
......@@ -2789,7 +2801,6 @@ visorchipset_exit(void)
visorchannel_destroy(ControlVm_channel);
ControlVm_channel = NULL;
}
controlvm_deinit();
visorchipset_file_cleanup();
POSTCODE_LINUX_2(DRIVER_EXIT_PC, POSTCODE_SEVERITY_INFO);
LOGINF("chipset driver unloaded");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment