rapidio: remove unused functions
rio_request_dma() and rio_dma_prep_slave_sg() were added in 2012 by commite42d98ebe7
("rapidio: add DMA engine support for RIO data transfers") but never used. rio_find_mport() last use was removed in 2013 by commit9edbc30b43
("rapidio: update enumerator registration mechanism") rio_unregister_scan() was added in 2013 by commita11650e110
("rapidio: make enumeration/discovery configurable") but never used. Remove them. Link: https://lkml.kernel.org/r/20250419203012.429787-3-linux@treblig.org Signed-off-by: Dr. David Alan Gilbert <linux@treblig.org> Cc: Alexandre Bounine <alex.bou9@gmail.com> Cc: Matt Porter <mporter@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
b7df1f254e
commit
ba8182d44b
|
@ -1774,19 +1774,6 @@ struct dma_chan *rio_request_mport_dma(struct rio_mport *mport)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(rio_request_mport_dma);
|
EXPORT_SYMBOL_GPL(rio_request_mport_dma);
|
||||||
|
|
||||||
/**
|
|
||||||
* rio_request_dma - request RapidIO capable DMA channel that supports
|
|
||||||
* specified target RapidIO device.
|
|
||||||
* @rdev: RIO device associated with DMA transfer
|
|
||||||
*
|
|
||||||
* Returns pointer to allocated DMA channel or NULL if failed.
|
|
||||||
*/
|
|
||||||
struct dma_chan *rio_request_dma(struct rio_dev *rdev)
|
|
||||||
{
|
|
||||||
return rio_request_mport_dma(rdev->net->hport);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL_GPL(rio_request_dma);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* rio_release_dma - release specified DMA channel
|
* rio_release_dma - release specified DMA channel
|
||||||
* @dchan: DMA channel to release
|
* @dchan: DMA channel to release
|
||||||
|
@ -1834,56 +1821,8 @@ struct dma_async_tx_descriptor *rio_dma_prep_xfer(struct dma_chan *dchan,
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(rio_dma_prep_xfer);
|
EXPORT_SYMBOL_GPL(rio_dma_prep_xfer);
|
||||||
|
|
||||||
/**
|
|
||||||
* rio_dma_prep_slave_sg - RapidIO specific wrapper
|
|
||||||
* for device_prep_slave_sg callback defined by DMAENGINE.
|
|
||||||
* @rdev: RIO device control structure
|
|
||||||
* @dchan: DMA channel to configure
|
|
||||||
* @data: RIO specific data descriptor
|
|
||||||
* @direction: DMA data transfer direction (TO or FROM the device)
|
|
||||||
* @flags: dmaengine defined flags
|
|
||||||
*
|
|
||||||
* Initializes RapidIO capable DMA channel for the specified data transfer.
|
|
||||||
* Uses DMA channel private extension to pass information related to remote
|
|
||||||
* target RIO device.
|
|
||||||
*
|
|
||||||
* Returns: pointer to DMA transaction descriptor if successful,
|
|
||||||
* error-valued pointer or NULL if failed.
|
|
||||||
*/
|
|
||||||
struct dma_async_tx_descriptor *rio_dma_prep_slave_sg(struct rio_dev *rdev,
|
|
||||||
struct dma_chan *dchan, struct rio_dma_data *data,
|
|
||||||
enum dma_transfer_direction direction, unsigned long flags)
|
|
||||||
{
|
|
||||||
return rio_dma_prep_xfer(dchan, rdev->destid, data, direction, flags);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL_GPL(rio_dma_prep_slave_sg);
|
|
||||||
|
|
||||||
#endif /* CONFIG_RAPIDIO_DMA_ENGINE */
|
#endif /* CONFIG_RAPIDIO_DMA_ENGINE */
|
||||||
|
|
||||||
/**
|
|
||||||
* rio_find_mport - find RIO mport by its ID
|
|
||||||
* @mport_id: number (ID) of mport device
|
|
||||||
*
|
|
||||||
* Given a RIO mport number, the desired mport is located
|
|
||||||
* in the global list of mports. If the mport is found, a pointer to its
|
|
||||||
* data structure is returned. If no mport is found, %NULL is returned.
|
|
||||||
*/
|
|
||||||
struct rio_mport *rio_find_mport(int mport_id)
|
|
||||||
{
|
|
||||||
struct rio_mport *port;
|
|
||||||
|
|
||||||
mutex_lock(&rio_mport_list_lock);
|
|
||||||
list_for_each_entry(port, &rio_mports, node) {
|
|
||||||
if (port->id == mport_id)
|
|
||||||
goto found;
|
|
||||||
}
|
|
||||||
port = NULL;
|
|
||||||
found:
|
|
||||||
mutex_unlock(&rio_mport_list_lock);
|
|
||||||
|
|
||||||
return port;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* rio_register_scan - enumeration/discovery method registration interface
|
* rio_register_scan - enumeration/discovery method registration interface
|
||||||
* @mport_id: mport device ID for which fabric scan routine has to be set
|
* @mport_id: mport device ID for which fabric scan routine has to be set
|
||||||
|
@ -1961,48 +1900,6 @@ err_out:
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(rio_register_scan);
|
EXPORT_SYMBOL_GPL(rio_register_scan);
|
||||||
|
|
||||||
/**
|
|
||||||
* rio_unregister_scan - removes enumeration/discovery method from mport
|
|
||||||
* @mport_id: mport device ID for which fabric scan routine has to be
|
|
||||||
* unregistered (RIO_MPORT_ANY = apply to all mports that use
|
|
||||||
* the specified scan_ops)
|
|
||||||
* @scan_ops: enumeration/discovery operations structure
|
|
||||||
*
|
|
||||||
* Removes enumeration or discovery method assigned to the specified mport
|
|
||||||
* device. If RIO_MPORT_ANY is specified, removes the specified operations from
|
|
||||||
* all mports that have them attached.
|
|
||||||
*/
|
|
||||||
int rio_unregister_scan(int mport_id, struct rio_scan *scan_ops)
|
|
||||||
{
|
|
||||||
struct rio_mport *port;
|
|
||||||
struct rio_scan_node *scan;
|
|
||||||
|
|
||||||
pr_debug("RIO: %s for mport_id=%d\n", __func__, mport_id);
|
|
||||||
|
|
||||||
if (mport_id != RIO_MPORT_ANY && mport_id >= RIO_MAX_MPORTS)
|
|
||||||
return -EINVAL;
|
|
||||||
|
|
||||||
mutex_lock(&rio_mport_list_lock);
|
|
||||||
|
|
||||||
list_for_each_entry(port, &rio_mports, node)
|
|
||||||
if (port->id == mport_id ||
|
|
||||||
(mport_id == RIO_MPORT_ANY && port->nscan == scan_ops))
|
|
||||||
port->nscan = NULL;
|
|
||||||
|
|
||||||
list_for_each_entry(scan, &rio_scans, node) {
|
|
||||||
if (scan->mport_id == mport_id) {
|
|
||||||
list_del(&scan->node);
|
|
||||||
kfree(scan);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
mutex_unlock(&rio_mport_list_lock);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL_GPL(rio_unregister_scan);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* rio_mport_scan - execute enumeration/discovery on the specified mport
|
* rio_mport_scan - execute enumeration/discovery on the specified mport
|
||||||
* @mport_id: number (ID) of mport device
|
* @mport_id: number (ID) of mport device
|
||||||
|
|
|
@ -41,9 +41,7 @@ extern void rio_del_device(struct rio_dev *rdev, enum rio_device_state state);
|
||||||
extern int rio_enable_rx_tx_port(struct rio_mport *port, int local, u16 destid,
|
extern int rio_enable_rx_tx_port(struct rio_mport *port, int local, u16 destid,
|
||||||
u8 hopcount, u8 port_num);
|
u8 hopcount, u8 port_num);
|
||||||
extern int rio_register_scan(int mport_id, struct rio_scan *scan_ops);
|
extern int rio_register_scan(int mport_id, struct rio_scan *scan_ops);
|
||||||
extern int rio_unregister_scan(int mport_id, struct rio_scan *scan_ops);
|
|
||||||
extern void rio_attach_device(struct rio_dev *rdev);
|
extern void rio_attach_device(struct rio_dev *rdev);
|
||||||
extern struct rio_mport *rio_find_mport(int mport_id);
|
|
||||||
extern int rio_mport_scan(int mport_id);
|
extern int rio_mport_scan(int mport_id);
|
||||||
|
|
||||||
/* Structures internal to the RIO core code */
|
/* Structures internal to the RIO core code */
|
||||||
|
|
|
@ -391,13 +391,8 @@ struct rio_dev *rio_dev_get(struct rio_dev *);
|
||||||
void rio_dev_put(struct rio_dev *);
|
void rio_dev_put(struct rio_dev *);
|
||||||
|
|
||||||
#ifdef CONFIG_RAPIDIO_DMA_ENGINE
|
#ifdef CONFIG_RAPIDIO_DMA_ENGINE
|
||||||
extern struct dma_chan *rio_request_dma(struct rio_dev *rdev);
|
|
||||||
extern struct dma_chan *rio_request_mport_dma(struct rio_mport *mport);
|
extern struct dma_chan *rio_request_mport_dma(struct rio_mport *mport);
|
||||||
extern void rio_release_dma(struct dma_chan *dchan);
|
extern void rio_release_dma(struct dma_chan *dchan);
|
||||||
extern struct dma_async_tx_descriptor *rio_dma_prep_slave_sg(
|
|
||||||
struct rio_dev *rdev, struct dma_chan *dchan,
|
|
||||||
struct rio_dma_data *data,
|
|
||||||
enum dma_transfer_direction direction, unsigned long flags);
|
|
||||||
extern struct dma_async_tx_descriptor *rio_dma_prep_xfer(
|
extern struct dma_async_tx_descriptor *rio_dma_prep_xfer(
|
||||||
struct dma_chan *dchan, u16 destid,
|
struct dma_chan *dchan, u16 destid,
|
||||||
struct rio_dma_data *data,
|
struct rio_dma_data *data,
|
||||||
|
|
Loading…
Reference in New Issue