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: Benjamin Romer <benjamin.romer@unisys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
ea702e76af
Коммит
524b0b63a1
|
@ -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
|
||||
|
|
|
@ -1,27 +0,0 @@
|
|||
/* 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
|
|
@ -1,62 +0,0 @@
|
|||
/* 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");
|
||||
|
|
Загрузка…
Ссылка в новой задаче