Merge branch 'CR_2517_sec_jiajie.ho' into 'jh7110-5.15.y-devel'
[platform/kernel/linux-starfive.git] / drivers / visorbus / visorbus_private.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Copyright (C) 2010 - 2015 UNISYS CORPORATION
4  * All rights reserved.
5  */
6
7 #ifndef __VISORBUS_PRIVATE_H__
8 #define __VISORBUS_PRIVATE_H__
9
10 #include <linux/uuid.h>
11 #include <linux/utsname.h>
12 #include <linux/visorbus.h>
13
14 #include "controlvmchannel.h"
15 #include "vbuschannel.h"
16
17 struct visor_device *visorbus_get_device_by_id(u32 bus_no, u32 dev_no,
18                                                struct visor_device *from);
19 int visorbus_create_instance(struct visor_device *dev);
20 void visorbus_remove_instance(struct visor_device *bus_info);
21 int create_visor_device(struct visor_device *dev_info);
22 void remove_visor_device(struct visor_device *dev_info);
23 int visorchipset_device_pause(struct visor_device *dev_info);
24 int visorchipset_device_resume(struct visor_device *dev_info);
25 void visorbus_response(struct visor_device *p, int response, int controlvm_id);
26 void visorbus_device_changestate_response(struct visor_device *p, int response,
27                                           struct visor_segment_state state);
28 int visorbus_init(void);
29 void visorbus_exit(void);
30
31 /* visorchannel access functions */
32 struct visorchannel *visorchannel_create(u64 physaddr, gfp_t gfp,
33                                          const guid_t *guid, bool needs_lock);
34 void visorchannel_destroy(struct visorchannel *channel);
35 int visorchannel_read(struct visorchannel *channel, ulong offset,
36                       void *dest, ulong nbytes);
37 int visorchannel_write(struct visorchannel *channel, ulong offset,
38                        void *dest, ulong nbytes);
39 u64 visorchannel_get_physaddr(struct visorchannel *channel);
40 ulong visorchannel_get_nbytes(struct visorchannel *channel);
41 char *visorchannel_id(struct visorchannel *channel, char *s);
42 char *visorchannel_zoneid(struct visorchannel *channel, char *s);
43 u64 visorchannel_get_clientpartition(struct visorchannel *channel);
44 int visorchannel_set_clientpartition(struct visorchannel *channel,
45                                      u64 partition_handle);
46 char *visorchannel_guid_id(const guid_t *guid, char *s);
47 void *visorchannel_get_header(struct visorchannel *channel);
48 #endif