Linux Kernel
3.7.1
|
#include <linux/cpu.h>
#include <linux/types.h>
#include <linux/delay.h>
#include <linux/stat.h>
#include <linux/device.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/console.h>
#include <linux/export.h>
#include <linux/mm.h>
#include <linux/dma-mapping.h>
#include <linux/kobject.h>
#include <asm/iommu.h>
#include <asm/dma.h>
#include <asm/vio.h>
#include <asm/prom.h>
#include <asm/firmware.h>
#include <asm/tce.h>
#include <asm/page.h>
#include <asm/hvcall.h>
Go to the source code of this file.
Functions | |
int | vio_cmo_entitlement_update (size_t new_entitlement) |
void | vio_cmo_set_dev_desired (struct vio_dev *viodev, size_t desired) |
EXPORT_SYMBOL (vio_cmo_entitlement_update) | |
EXPORT_SYMBOL (vio_cmo_set_dev_desired) | |
int | vio_h_cop_sync (struct vio_dev *vdev, struct vio_pfo_op *op) |
EXPORT_SYMBOL (vio_h_cop_sync) | |
int | __vio_register_driver (struct vio_driver *viodrv, struct module *owner, const char *mod_name) |
EXPORT_SYMBOL (__vio_register_driver) | |
void | vio_unregister_driver (struct vio_driver *viodrv) |
EXPORT_SYMBOL (vio_unregister_driver) | |
struct vio_dev * | vio_register_device_node (struct device_node *of_node) |
EXPORT_SYMBOL (vio_register_device_node) | |
postcore_initcall (vio_bus_init) | |
device_initcall (vio_device_init) | |
void __devinit | vio_unregister_device (struct vio_dev *viodev) |
EXPORT_SYMBOL (vio_unregister_device) | |
const void * | vio_get_attribute (struct vio_dev *vdev, char *which, int *length) |
EXPORT_SYMBOL (vio_get_attribute) | |
Variables | |
struct bus_type | vio_bus_type |
int __vio_register_driver | ( | struct vio_driver * | viodrv, |
struct module * | owner, | ||
const char * | mod_name | ||
) |
vio_register_driver: - Register a new vio driver : The vio_driver structure to be registered.
device_initcall | ( | vio_device_init | ) |
EXPORT_SYMBOL | ( | vio_cmo_entitlement_update | ) |
EXPORT_SYMBOL | ( | vio_cmo_set_dev_desired | ) |
EXPORT_SYMBOL | ( | vio_h_cop_sync | ) |
EXPORT_SYMBOL | ( | __vio_register_driver | ) |
EXPORT_SYMBOL | ( | vio_unregister_driver | ) |
EXPORT_SYMBOL | ( | vio_register_device_node | ) |
EXPORT_SYMBOL | ( | vio_unregister_device | ) |
EXPORT_SYMBOL | ( | vio_get_attribute | ) |
postcore_initcall | ( | vio_bus_init | ) |
vio_h_cop_sync - Perform a synchronous PFO co-processor operation
- Pointer to a struct vio_dev for device - Pointer to a struct vio_pfo_op for the operation parameters
Calls the hypervisor to synchronously perform the PFO operation described in . In the case of a busy response from the hypervisor, the operation will be re-submitted indefinitely unless a non-zero timeout is specified or an error occurs. The timeout places a limit on when to stop re-submitting a operation, the total time can be exceeded if an operation is in progress.
If op->hcall_ret is not NULL, this will be set to the return from the last h_cop_op call or it will be 0 if an error not involving the h_call was encountered.
Returns: 0 on success, -EINVAL if the h_call fails due to an invalid parameter, -E2BIG if the h_call can not be performed synchronously, -EBUSY if a timeout is specified and has elapsed, -EACCES if the memory area for data/status has been rescinded, or -EPERM if a hardware fault has been indicated
|
read |
void vio_unregister_driver | ( | struct vio_driver * | viodrv | ) |
vio_unregister_driver - Remove registration of vio driver. : The vio_driver struct to be removed form registration