Merge tag 'remoteproc-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/remoteproc
Pull remoteproc updates from Ohad Ben-Cohen: - remoteproc fixes/cleanups from Suman Anna - new remoteproc TI Wakeup M3 driver from Dave Gerlach - remoteproc core support for TI's Wakeup M3 driver from both Dave and Suman - tiny remoteproc build fix from myself * tag 'remoteproc-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/remoteproc: remoteproc: fix !CONFIG_OF build breakage remoteproc/wkup_m3: add a remoteproc driver for TI Wakeup M3 Documentation: dt: add bindings for TI Wakeup M3 processor remoteproc: add a rproc ops for performing address translation remoteproc: introduce rproc_get_by_phandle API remoteproc: fix various checkpatch warnings remoteproc/davinci: fix quoted split string checkpatch warning remoteproc/ste: add blank lines after declarations
This commit is contained in:
30
include/linux/platform_data/wkup_m3.h
Normal file
30
include/linux/platform_data/wkup_m3.h
Normal file
@@ -0,0 +1,30 @@
|
||||
/*
|
||||
* TI Wakeup M3 remote processor platform data
|
||||
*
|
||||
* Copyright (C) 2014-2015 Texas Instruments, Inc.
|
||||
*
|
||||
* Dave Gerlach <d-gerlach@ti.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* 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. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#ifndef _LINUX_PLATFORM_DATA_WKUP_M3_H
|
||||
#define _LINUX_PLATFORM_DATA_WKUP_M3_H
|
||||
|
||||
struct platform_device;
|
||||
|
||||
struct wkup_m3_platform_data {
|
||||
const char *reset_name;
|
||||
|
||||
int (*assert_reset)(struct platform_device *pdev, const char *name);
|
||||
int (*deassert_reset)(struct platform_device *pdev, const char *name);
|
||||
};
|
||||
|
||||
#endif /* _LINUX_PLATFORM_DATA_WKUP_M3_H */
|
@@ -36,11 +36,11 @@
|
||||
#define REMOTEPROC_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/klist.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/virtio.h>
|
||||
#include <linux/completion.h>
|
||||
#include <linux/idr.h>
|
||||
#include <linux/of.h>
|
||||
|
||||
/**
|
||||
* struct resource_table - firmware resource table header
|
||||
@@ -330,11 +330,13 @@ struct rproc;
|
||||
* @start: power on the device and boot it
|
||||
* @stop: power off the device
|
||||
* @kick: kick a virtqueue (virtqueue id given as a parameter)
|
||||
* @da_to_va: optional platform hook to perform address translations
|
||||
*/
|
||||
struct rproc_ops {
|
||||
int (*start)(struct rproc *rproc);
|
||||
int (*stop)(struct rproc *rproc);
|
||||
void (*kick)(struct rproc *rproc, int vqid);
|
||||
void * (*da_to_va)(struct rproc *rproc, u64 da, int len);
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -375,7 +377,7 @@ enum rproc_crash_type {
|
||||
|
||||
/**
|
||||
* struct rproc - represents a physical remote processor device
|
||||
* @node: klist node of this rproc object
|
||||
* @node: list node of this rproc object
|
||||
* @domain: iommu domain
|
||||
* @name: human readable name of the rproc
|
||||
* @firmware: name of firmware file to be loaded
|
||||
@@ -407,7 +409,7 @@ enum rproc_crash_type {
|
||||
* @has_iommu: flag to indicate if remote processor is behind an MMU
|
||||
*/
|
||||
struct rproc {
|
||||
struct klist_node node;
|
||||
struct list_head node;
|
||||
struct iommu_domain *domain;
|
||||
const char *name;
|
||||
const char *firmware;
|
||||
@@ -481,6 +483,7 @@ struct rproc_vdev {
|
||||
u32 rsc_offset;
|
||||
};
|
||||
|
||||
struct rproc *rproc_get_by_phandle(phandle phandle);
|
||||
struct rproc *rproc_alloc(struct device *dev, const char *name,
|
||||
const struct rproc_ops *ops,
|
||||
const char *firmware, int len);
|
||||
|
Reference in New Issue
Block a user