Merge branch 's390-next'

Karsten Graul says:

====================
s390/net: updates 2021-09-14

Please apply the following patches to netdev's net-next tree.

Stop using the wrappers in include/linux/pci-dma-compat.h,
and fix warnings about incorrect kernel-doc comments.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
David S. Miller 2021-09-14 12:46:30 +01:00
commit f787e3cfea
7 changed files with 168 additions and 167 deletions

View File

@ -182,7 +182,7 @@ static void ctcmpc_chx_attnbusy(fsm_instance *, int, void *);
static void ctcmpc_chx_resend(fsm_instance *, int, void *);
static void ctcmpc_chx_send_sweep(fsm_instance *fsm, int event, void *arg);
/**
/*
* Check return code of a preceding ccw_device call, halt_IO etc...
*
* ch : The channel, the error belongs to.
@ -223,7 +223,7 @@ void ctcm_purge_skb_queue(struct sk_buff_head *q)
}
}
/**
/*
* NOP action for statemachines
*/
static void ctcm_action_nop(fsm_instance *fi, int event, void *arg)
@ -234,7 +234,7 @@ static void ctcm_action_nop(fsm_instance *fi, int event, void *arg)
* Actions for channel - statemachines.
*/
/**
/*
* Normal data has been send. Free the corresponding
* skb (it's in io_queue), reset dev->tbusy and
* revert to idle state.
@ -322,7 +322,7 @@ static void chx_txdone(fsm_instance *fi, int event, void *arg)
ctcm_clear_busy_do(dev);
}
/**
/*
* Initial data is sent.
* Notify device statemachine that we are up and
* running.
@ -344,7 +344,7 @@ void ctcm_chx_txidle(fsm_instance *fi, int event, void *arg)
fsm_event(priv->fsm, DEV_EVENT_TXUP, ch->netdev);
}
/**
/*
* Got normal data, check for sanity, queue it up, allocate new buffer
* trigger bottom half, and initiate next read.
*
@ -421,7 +421,7 @@ static void chx_rx(fsm_instance *fi, int event, void *arg)
ctcm_ccw_check_rc(ch, rc, "normal RX");
}
/**
/*
* Initialize connection by sending a __u16 of value 0.
*
* fi An instance of a channel statemachine.
@ -497,7 +497,7 @@ static void chx_firstio(fsm_instance *fi, int event, void *arg)
}
}
/**
/*
* Got initial data, check it. If OK,
* notify device statemachine that we are up and
* running.
@ -538,7 +538,7 @@ static void chx_rxidle(fsm_instance *fi, int event, void *arg)
}
}
/**
/*
* Set channel into extended mode.
*
* fi An instance of a channel statemachine.
@ -578,7 +578,7 @@ static void ctcm_chx_setmode(fsm_instance *fi, int event, void *arg)
ch->retry = 0;
}
/**
/*
* Setup channel.
*
* fi An instance of a channel statemachine.
@ -641,7 +641,7 @@ static void ctcm_chx_start(fsm_instance *fi, int event, void *arg)
}
}
/**
/*
* Shutdown a channel.
*
* fi An instance of a channel statemachine.
@ -682,7 +682,7 @@ static void ctcm_chx_haltio(fsm_instance *fi, int event, void *arg)
}
}
/**
/*
* Cleanup helper for chx_fail and chx_stopped
* cleanup channels queue and notify interface statemachine.
*
@ -728,7 +728,7 @@ static void ctcm_chx_cleanup(fsm_instance *fi, int state,
}
}
/**
/*
* A channel has successfully been halted.
* Cleanup it's queue and notify interface statemachine.
*
@ -741,7 +741,7 @@ static void ctcm_chx_stopped(fsm_instance *fi, int event, void *arg)
ctcm_chx_cleanup(fi, CTC_STATE_STOPPED, arg);
}
/**
/*
* A stop command from device statemachine arrived and we are in
* not operational mode. Set state to stopped.
*
@ -754,7 +754,7 @@ static void ctcm_chx_stop(fsm_instance *fi, int event, void *arg)
fsm_newstate(fi, CTC_STATE_STOPPED);
}
/**
/*
* A machine check for no path, not operational status or gone device has
* happened.
* Cleanup queue and notify interface statemachine.
@ -768,7 +768,7 @@ static void ctcm_chx_fail(fsm_instance *fi, int event, void *arg)
ctcm_chx_cleanup(fi, CTC_STATE_NOTOP, arg);
}
/**
/*
* Handle error during setup of channel.
*
* fi An instance of a channel statemachine.
@ -817,7 +817,7 @@ static void ctcm_chx_setuperr(fsm_instance *fi, int event, void *arg)
}
}
/**
/*
* Restart a channel after an error.
*
* fi An instance of a channel statemachine.
@ -858,7 +858,7 @@ static void ctcm_chx_restart(fsm_instance *fi, int event, void *arg)
}
}
/**
/*
* Handle error during RX initial handshake (exchange of
* 0-length block header)
*
@ -893,7 +893,7 @@ static void ctcm_chx_rxiniterr(fsm_instance *fi, int event, void *arg)
}
}
/**
/*
* Notify device statemachine if we gave up initialization
* of RX channel.
*
@ -914,7 +914,7 @@ static void ctcm_chx_rxinitfail(fsm_instance *fi, int event, void *arg)
fsm_event(priv->fsm, DEV_EVENT_RXDOWN, dev);
}
/**
/*
* Handle RX Unit check remote reset (remote disconnected)
*
* fi An instance of a channel statemachine.
@ -946,7 +946,7 @@ static void ctcm_chx_rxdisc(fsm_instance *fi, int event, void *arg)
ccw_device_halt(ch2->cdev, 0);
}
/**
/*
* Handle error during TX channel initialization.
*
* fi An instance of a channel statemachine.
@ -978,7 +978,7 @@ static void ctcm_chx_txiniterr(fsm_instance *fi, int event, void *arg)
}
}
/**
/*
* Handle TX timeout by retrying operation.
*
* fi An instance of a channel statemachine.
@ -1050,7 +1050,7 @@ static void ctcm_chx_txretry(fsm_instance *fi, int event, void *arg)
return;
}
/**
/*
* Handle fatal errors during an I/O command.
*
* fi An instance of a channel statemachine.
@ -1198,7 +1198,7 @@ int ch_fsm_len = ARRAY_SIZE(ch_fsm);
* Actions for mpc channel statemachine.
*/
/**
/*
* Normal data has been send. Free the corresponding
* skb (it's in io_queue), reset dev->tbusy and
* revert to idle state.
@ -1361,7 +1361,7 @@ static void ctcmpc_chx_txdone(fsm_instance *fi, int event, void *arg)
return;
}
/**
/*
* Got normal data, check for sanity, queue it up, allocate new buffer
* trigger bottom half, and initiate next read.
*
@ -1464,7 +1464,7 @@ static void ctcmpc_chx_rx(fsm_instance *fi, int event, void *arg)
}
/**
/*
* Initialize connection by sending a __u16 of value 0.
*
* fi An instance of a channel statemachine.
@ -1516,7 +1516,7 @@ static void ctcmpc_chx_firstio(fsm_instance *fi, int event, void *arg)
return;
}
/**
/*
* Got initial data, check it. If OK,
* notify device statemachine that we are up and
* running.
@ -2043,7 +2043,7 @@ int mpc_ch_fsm_len = ARRAY_SIZE(ctcmpc_ch_fsm);
* Actions for interface - statemachine.
*/
/**
/*
* Startup channels by sending CTC_EVENT_START to each channel.
*
* fi An instance of an interface statemachine.
@ -2068,7 +2068,7 @@ static void dev_action_start(fsm_instance *fi, int event, void *arg)
}
}
/**
/*
* Shutdown channels by sending CTC_EVENT_STOP to each channel.
*
* fi An instance of an interface statemachine.
@ -2122,7 +2122,7 @@ static void dev_action_restart(fsm_instance *fi, int event, void *arg)
DEV_EVENT_START, dev);
}
/**
/*
* Called from channel statemachine
* when a channel is up and running.
*
@ -2183,7 +2183,7 @@ static void dev_action_chup(fsm_instance *fi, int event, void *arg)
}
}
/**
/*
* Called from device statemachine
* when a channel has been shutdown.
*

View File

@ -55,7 +55,7 @@
/* Some common global variables */
/**
/*
* The root device for ctcm group devices
*/
static struct device *ctcm_root_dev;
@ -65,7 +65,7 @@ static struct device *ctcm_root_dev;
*/
struct channel *channels;
/**
/*
* Unpack a just received skb and hand it over to
* upper layers.
*
@ -180,7 +180,7 @@ void ctcm_unpack_skb(struct channel *ch, struct sk_buff *pskb)
}
}
/**
/*
* Release a specific channel in the channel list.
*
* ch Pointer to channel struct to be released.
@ -192,7 +192,7 @@ static void channel_free(struct channel *ch)
fsm_newstate(ch->fsm, CTC_STATE_IDLE);
}
/**
/*
* Remove a specific channel in the channel list.
*
* ch Pointer to channel struct to be released.
@ -240,7 +240,7 @@ static void channel_remove(struct channel *ch)
chid, ok ? "OK" : "failed");
}
/**
/*
* Get a specific channel from the channel list.
*
* type Type of channel we are interested in.
@ -300,7 +300,7 @@ static long ctcm_check_irb_error(struct ccw_device *cdev, struct irb *irb)
}
/**
/*
* Check sense of a unit check.
*
* ch The channel, the sense code belongs to.
@ -414,7 +414,7 @@ int ctcm_ch_alloc_buffer(struct channel *ch)
* Interface API for upper network layers
*/
/**
/*
* Open an interface.
* Called from generic network layer when ifconfig up is run.
*
@ -432,7 +432,7 @@ int ctcm_open(struct net_device *dev)
return 0;
}
/**
/*
* Close an interface.
* Called from generic network layer when ifconfig down is run.
*
@ -451,7 +451,7 @@ int ctcm_close(struct net_device *dev)
}
/**
/*
* Transmit a packet.
* This is a helper function for ctcm_tx().
*
@ -822,7 +822,7 @@ static int ctcmpc_transmit_skb(struct channel *ch, struct sk_buff *skb)
return rc;
}
/**
/*
* Start transmission of a packet.
* Called from generic network device layer.
*
@ -975,7 +975,7 @@ static int ctcmpc_tx(struct sk_buff *skb, struct net_device *dev)
}
/**
/*
* Sets MTU of an interface.
*
* dev Pointer to interface struct.
@ -1007,7 +1007,7 @@ static int ctcm_change_mtu(struct net_device *dev, int new_mtu)
return 0;
}
/**
/*
* Returns interface statistics of a device.
*
* dev Pointer to interface struct.
@ -1144,7 +1144,7 @@ static struct net_device *ctcm_init_netdevice(struct ctcm_priv *priv)
return dev;
}
/**
/*
* Main IRQ handler.
*
* cdev The ccw_device the interrupt is for.
@ -1257,7 +1257,7 @@ static const struct device_type ctcm_devtype = {
.groups = ctcm_attr_groups,
};
/**
/*
* Add ctcm specific attributes.
* Add ctcm private data.
*
@ -1293,7 +1293,7 @@ static int ctcm_probe_device(struct ccwgroup_device *cgdev)
return 0;
}
/**
/*
* Add a new channel to the list of channels.
* Keeps the channel list sorted.
*
@ -1343,7 +1343,7 @@ static int add_channel(struct ccw_device *cdev, enum ctcm_channel_types type,
snprintf(ch->id, CTCM_ID_SIZE, "ch-%s", dev_name(&cdev->dev));
ch->type = type;
/**
/*
* "static" ccws are used in the following way:
*
* ccw[0..2] (Channel program for generic I/O):
@ -1471,7 +1471,7 @@ static enum ctcm_channel_types get_channel_type(struct ccw_device_id *id)
return type;
}
/**
/*
*
* Setup an interface.
*
@ -1595,7 +1595,7 @@ static int ctcm_new_device(struct ccwgroup_device *cgdev)
return result;
}
/**
/*
* Shutdown an interface.
*
* cgdev Device to be shut down.
@ -1738,7 +1738,7 @@ static void print_banner(void)
pr_info("CTCM driver initialized\n");
}
/**
/*
* Initialize module.
* This is called just after the module is loaded.
*

View File

@ -1016,7 +1016,7 @@ void mpc_channel_action(struct channel *ch, int direction, int action)
CTCM_PR_DEBUG("exit %s: ch=0x%p id=%s\n", __func__, ch, ch->id);
}
/**
/*
* Unpack a just received skb and hand it over to
* upper layers.
* special MPC version of unpack_skb.
@ -1211,7 +1211,7 @@ static void ctcmpc_unpack_skb(struct channel *ch, struct sk_buff *pskb)
__func__, dev->name, ch, ch->id);
}
/**
/*
* tasklet helper for mpc's skb unpacking.
*
* ch The channel to work on.
@ -1320,7 +1320,7 @@ struct mpc_group *ctcmpc_init_mpc_group(struct ctcm_priv *priv)
* CTCM_PROTO_MPC only
*/
/**
/*
* NOP action for statemachines
*/
static void mpc_action_nop(fsm_instance *fi, int event, void *arg)
@ -1426,7 +1426,7 @@ static void mpc_action_go_inop(fsm_instance *fi, int event, void *arg)
}
}
/**
/*
* Handle mpc group action timeout.
* MPC Group Station FSM action
* CTCM_PROTO_MPC only

View File

@ -1,5 +1,5 @@
// SPDX-License-Identifier: GPL-2.0
/**
/*
* A generic FSM based on fsm used in isdn4linux
*
*/

View File

@ -555,7 +555,7 @@ static int ism_probe(struct pci_dev *pdev, const struct pci_device_id *id)
if (ret)
goto err_disable;
ret = pci_set_dma_mask(pdev, DMA_BIT_MASK(64));
ret = dma_set_mask(&pdev->dev, DMA_BIT_MASK(64));
if (ret)
goto err_resource;

View File

@ -40,18 +40,18 @@
#error Cannot compile lcs.c without some net devices switched on.
#endif
/**
/*
* initialization string for output
*/
static char version[] __initdata = "LCS driver";
/**
/*
* the root device for lcs group devices
*/
static struct device *lcs_root_dev;
/**
/*
* Some prototypes.
*/
static void lcs_tasklet(unsigned long);
@ -62,14 +62,14 @@ static int lcs_send_delipm(struct lcs_card *, struct lcs_ipm_list *);
#endif /* CONFIG_IP_MULTICAST */
static int lcs_recovery(void *ptr);
/**
/*
* Debug Facility Stuff
*/
static char debug_buffer[255];
static debug_info_t *lcs_dbf_setup;
static debug_info_t *lcs_dbf_trace;
/**
/*
* LCS Debug Facility functions
*/
static void
@ -96,7 +96,7 @@ lcs_register_debug_facility(void)
return 0;
}
/**
/*
* Allocate io buffers.
*/
static int
@ -123,7 +123,7 @@ lcs_alloc_channel(struct lcs_channel *channel)
return 0;
}
/**
/*
* Free io buffers.
*/
static void
@ -151,7 +151,7 @@ lcs_cleanup_channel(struct lcs_channel *channel)
lcs_free_channel(channel);
}
/**
/*
* LCS free memory for card and channels.
*/
static void
@ -162,7 +162,7 @@ lcs_free_card(struct lcs_card *card)
kfree(card);
}
/**
/*
* LCS alloc memory for card and channels
*/
static struct lcs_card *
@ -402,7 +402,7 @@ lcs_do_start_thread(struct lcs_card *card, unsigned long thread)
return rc;
}
/**
/*
* Initialize channels,card and state machines.
*/
static void
@ -451,7 +451,8 @@ static void lcs_clear_multicast_list(struct lcs_card *card)
spin_unlock_irqrestore(&card->ipm_lock, flags);
#endif
}
/**
/*
* Cleanup channels,card and state machines.
*/
static void
@ -468,7 +469,7 @@ lcs_cleanup_card(struct lcs_card *card)
lcs_cleanup_channel(&card->read);
}
/**
/*
* Start channel.
*/
static int
@ -517,7 +518,7 @@ lcs_clear_channel(struct lcs_channel *channel)
}
/**
/*
* Stop channel.
*/
static int
@ -545,7 +546,7 @@ lcs_stop_channel(struct lcs_channel *channel)
return 0;
}
/**
/*
* start read and write channel
*/
static int
@ -565,7 +566,7 @@ lcs_start_channels(struct lcs_card *card)
return rc;
}
/**
/*
* stop read and write channel
*/
static int
@ -577,7 +578,7 @@ lcs_stop_channels(struct lcs_card *card)
return 0;
}
/**
/*
* Get empty buffer.
*/
static struct lcs_buffer *
@ -610,7 +611,7 @@ lcs_get_buffer(struct lcs_channel *channel)
return buffer;
}
/**
/*
* Resume channel program if the channel is suspended.
*/
static int
@ -636,7 +637,7 @@ __lcs_resume_channel(struct lcs_channel *channel)
}
/**
/*
* Make a buffer ready for processing.
*/
static void __lcs_ready_buffer_bits(struct lcs_channel *channel, int index)
@ -678,7 +679,7 @@ lcs_ready_buffer(struct lcs_channel *channel, struct lcs_buffer *buffer)
return rc;
}
/**
/*
* Mark the buffer as processed. Take care of the suspend bit
* of the previous buffer. This function is called from
* interrupt context, so the lock must not be taken.
@ -712,7 +713,7 @@ __lcs_processed_buffer(struct lcs_channel *channel, struct lcs_buffer *buffer)
return __lcs_resume_channel(channel);
}
/**
/*
* Put a processed buffer back to state empty.
*/
static void
@ -728,7 +729,7 @@ lcs_release_buffer(struct lcs_channel *channel, struct lcs_buffer *buffer)
spin_unlock_irqrestore(get_ccwdev_lock(channel->ccwdev), flags);
}
/**
/*
* Get buffer for a lan command.
*/
static struct lcs_buffer *
@ -785,7 +786,7 @@ lcs_alloc_reply(struct lcs_cmd *cmd)
return reply;
}
/**
/*
* Notifier function for lancmd replies. Called from read irq.
*/
static void
@ -813,7 +814,7 @@ lcs_notify_lancmd_waiters(struct lcs_card *card, struct lcs_cmd *cmd)
spin_unlock(&card->lock);
}
/**
/*
* Emit buffer of a lan command.
*/
static void
@ -877,7 +878,7 @@ lcs_send_lancmd(struct lcs_card *card, struct lcs_buffer *buffer,
return rc ? -EIO : 0;
}
/**
/*
* LCS startup command
*/
static int
@ -895,7 +896,7 @@ lcs_send_startup(struct lcs_card *card, __u8 initiator)
return lcs_send_lancmd(card, buffer, NULL);
}
/**
/*
* LCS shutdown command
*/
static int
@ -912,7 +913,7 @@ lcs_send_shutdown(struct lcs_card *card)
return lcs_send_lancmd(card, buffer, NULL);
}
/**
/*
* LCS lanstat command
*/
static void
@ -939,7 +940,7 @@ lcs_send_lanstat(struct lcs_card *card)
return lcs_send_lancmd(card, buffer, __lcs_lanstat_cb);
}
/**
/*
* send stoplan command
*/
static int
@ -958,7 +959,7 @@ lcs_send_stoplan(struct lcs_card *card, __u8 initiator)
return lcs_send_lancmd(card, buffer, NULL);
}
/**
/*
* send startlan command
*/
static void
@ -986,7 +987,7 @@ lcs_send_startlan(struct lcs_card *card, __u8 initiator)
}
#ifdef CONFIG_IP_MULTICAST
/**
/*
* send setipm command (Multicast)
*/
static int
@ -1010,7 +1011,7 @@ lcs_send_setipm(struct lcs_card *card,struct lcs_ipm_list *ipm_list)
return lcs_send_lancmd(card, buffer, NULL);
}
/**
/*
* send delipm command (Multicast)
*/
static int
@ -1034,7 +1035,7 @@ lcs_send_delipm(struct lcs_card *card,struct lcs_ipm_list *ipm_list)
return lcs_send_lancmd(card, buffer, NULL);
}
/**
/*
* check if multicast is supported by LCS
*/
static void
@ -1074,7 +1075,7 @@ lcs_check_multicast_support(struct lcs_card *card)
return -EOPNOTSUPP;
}
/**
/*
* set or del multicast address on LCS card
*/
static void
@ -1129,7 +1130,7 @@ lcs_fix_multicast_list(struct lcs_card *card)
spin_unlock_irqrestore(&card->ipm_lock, flags);
}
/**
/*
* get mac address for the relevant Multicast address
*/
static void
@ -1139,7 +1140,7 @@ lcs_get_mac_for_ipm(__be32 ipm, char *mac, struct net_device *dev)
ip_eth_mc_map(ipm, mac);
}
/**
/*
* function called by net device to handle multicast address relevant things
*/
static void lcs_remove_mc_addresses(struct lcs_card *card,
@ -1260,7 +1261,7 @@ lcs_register_mc_addresses(void *data)
}
#endif /* CONFIG_IP_MULTICAST */
/**
/*
* function called by net device to
* handle multicast address relevant things
*/
@ -1355,7 +1356,7 @@ lcs_schedule_recovery(struct lcs_card *card)
schedule_work(&card->kernel_thread_starter);
}
/**
/*
* IRQ Handler for LCS channels
*/
static void
@ -1439,7 +1440,7 @@ lcs_irq(struct ccw_device *cdev, unsigned long intparm, struct irb *irb)
tasklet_schedule(&channel->irq_tasklet);
}
/**
/*
* Tasklet for IRQ handler
*/
static void
@ -1476,7 +1477,7 @@ lcs_tasklet(unsigned long data)
wake_up(&channel->wait_q);
}
/**
/*
* Finish current tx buffer and make it ready for transmit.
*/
static void
@ -1490,7 +1491,7 @@ __lcs_emit_txbuffer(struct lcs_card *card)
card->tx_emitted++;
}
/**
/*
* Callback for finished tx buffers.
*/
static void
@ -1515,7 +1516,7 @@ lcs_txbuffer_cb(struct lcs_channel *channel, struct lcs_buffer *buffer)
spin_unlock(&card->lock);
}
/**
/*
* Packet transmit function called by network stack
*/
static int
@ -1593,7 +1594,7 @@ lcs_start_xmit(struct sk_buff *skb, struct net_device *dev)
return rc;
}
/**
/*
* send startlan and lanstat command to make LCS device ready
*/
static int
@ -1648,7 +1649,7 @@ lcs_startlan(struct lcs_card *card)
return rc;
}
/**
/*
* LCS detect function
* setup channels and make them I/O ready
*/
@ -1680,7 +1681,7 @@ lcs_detect(struct lcs_card *card)
return rc;
}
/**
/*
* LCS Stop card
*/
static int
@ -1705,7 +1706,7 @@ lcs_stopcard(struct lcs_card *card)
return rc;
}
/**
/*
* Kernel Thread helper functions for LGW initiated commands
*/
static void
@ -1721,7 +1722,7 @@ lcs_start_kernel_thread(struct work_struct *work)
#endif
}
/**
/*
* Process control frames.
*/
static void
@ -1748,7 +1749,7 @@ lcs_get_control(struct lcs_card *card, struct lcs_cmd *cmd)
lcs_notify_lancmd_waiters(card, cmd);
}
/**
/*
* Unpack network packet.
*/
static void
@ -1779,7 +1780,7 @@ lcs_get_skb(struct lcs_card *card, char *skb_data, unsigned int skb_len)
netif_rx(skb);
}
/**
/*
* LCS main routine to get packets and lancmd replies from the buffers
*/
static void
@ -1829,7 +1830,7 @@ lcs_get_frames_cb(struct lcs_channel *channel, struct lcs_buffer *buffer)
lcs_ready_buffer(&card->read, buffer);
}
/**
/*
* get network statistics for ifconfig and other user programs
*/
static struct net_device_stats *
@ -1842,7 +1843,7 @@ lcs_getstats(struct net_device *dev)
return &card->stats;
}
/**
/*
* stop lcs device
* This function will be called by user doing ifconfig xxx down
*/
@ -1866,7 +1867,7 @@ lcs_stop_device(struct net_device *dev)
return rc;
}
/**
/*
* start lcs device and make it runnable
* This function will be called by user doing ifconfig xxx up
*/
@ -1892,7 +1893,7 @@ lcs_open_device(struct net_device *dev)
return rc;
}
/**
/*
* show function for portno called by cat or similar things
*/
static ssize_t
@ -1908,7 +1909,7 @@ lcs_portno_show (struct device *dev, struct device_attribute *attr, char *buf)
return sprintf(buf, "%d\n", card->portno);
}
/**
/*
* store the value which is piped to file portno
*/
static ssize_t
@ -2033,7 +2034,7 @@ static const struct device_type lcs_devtype = {
.groups = lcs_attr_groups,
};
/**
/*
* lcs_probe_device is called on establishing a new ccwgroup_device.
*/
static int
@ -2077,7 +2078,7 @@ lcs_register_netdev(struct ccwgroup_device *ccwgdev)
return register_netdev(card->dev);
}
/**
/*
* lcs_new_device will be called by setting the group device online.
*/
static const struct net_device_ops lcs_netdev_ops = {
@ -2199,7 +2200,7 @@ lcs_new_device(struct ccwgroup_device *ccwgdev)
return -ENODEV;
}
/**
/*
* lcs_shutdown_device, called when setting the group device offline.
*/
static int
@ -2240,7 +2241,7 @@ lcs_shutdown_device(struct ccwgroup_device *ccwgdev)
return __lcs_shutdown_device(ccwgdev, 0);
}
/**
/*
* drive lcs recovery after startup and startlan initiated by Lan Gateway
*/
static int
@ -2271,7 +2272,7 @@ lcs_recovery(void *ptr)
return 0;
}
/**
/*
* lcs_remove_device, free buffers and card
*/
static void
@ -2315,7 +2316,7 @@ static struct ccw_driver lcs_ccw_driver = {
.int_class = IRQIO_LCS,
};
/**
/*
* LCS ccwgroup driver registration
*/
static struct ccwgroup_driver lcs_group_driver = {
@ -2351,7 +2352,7 @@ static const struct attribute_group *lcs_drv_attr_groups[] = {
NULL,
};
/**
/*
* LCS Module/Kernel initialization function
*/
static int
@ -2389,7 +2390,7 @@ __init lcs_init_module(void)
}
/**
/*
* LCS module cleanup function
*/
static void

View File

@ -58,7 +58,7 @@ MODULE_AUTHOR
("(C) 2001 IBM Corporation by Fritz Elfert (felfert@millenux.com)");
MODULE_DESCRIPTION ("Linux for S/390 IUCV network driver");
/**
/*
* Debug Facility stuff
*/
#define IUCV_DBF_SETUP_NAME "iucv_setup"
@ -107,7 +107,7 @@ DECLARE_PER_CPU(char[256], iucv_dbf_txt_buf);
debug_sprintf_event(iucv_dbf_trace, level, text ); \
} while (0)
/**
/*
* some more debug stuff
*/
#define PRINTK_HEADER " iucv: " /* for debugging */
@ -118,7 +118,7 @@ static struct device_driver netiucv_driver = {
.bus = &iucv_bus,
};
/**
/*
* Per connection profiling data
*/
struct connection_profile {
@ -133,7 +133,7 @@ struct connection_profile {
unsigned long tx_max_pending;
};
/**
/*
* Representation of one iucv connection
*/
struct iucv_connection {
@ -154,13 +154,13 @@ struct iucv_connection {
char userdata[17];
};
/**
/*
* Linked list of all connection structs.
*/
static LIST_HEAD(iucv_connection_list);
static DEFINE_RWLOCK(iucv_connection_rwlock);
/**
/*
* Representation of event-data for the
* connection state machine.
*/
@ -169,7 +169,7 @@ struct iucv_event {
void *data;
};
/**
/*
* Private part of the network device structure
*/
struct netiucv_priv {
@ -180,7 +180,7 @@ struct netiucv_priv {
struct device *dev;
};
/**
/*
* Link level header for a packet.
*/
struct ll_header {
@ -195,7 +195,7 @@ struct ll_header {
#define NETIUCV_QUEUELEN_DEFAULT 50
#define NETIUCV_TIMEOUT_5SEC 5000
/**
/*
* Compatibility macros for busy handling
* of network devices.
*/
@ -223,7 +223,7 @@ static u8 iucvMagic_ebcdic[16] = {
0xF0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40
};
/**
/*
* Convert an iucv userId to its printable
* form (strip whitespace at end).
*
@ -262,7 +262,7 @@ static char *netiucv_printuser(struct iucv_connection *conn)
return netiucv_printname(conn->userid, 8);
}
/**
/*
* States of the interface statemachine.
*/
enum dev_states {
@ -270,7 +270,7 @@ enum dev_states {
DEV_STATE_STARTWAIT,
DEV_STATE_STOPWAIT,
DEV_STATE_RUNNING,
/**
/*
* MUST be always the last element!!
*/
NR_DEV_STATES
@ -283,7 +283,7 @@ static const char *dev_state_names[] = {
"Running",
};
/**
/*
* Events of the interface statemachine.
*/
enum dev_events {
@ -291,7 +291,7 @@ enum dev_events {
DEV_EVENT_STOP,
DEV_EVENT_CONUP,
DEV_EVENT_CONDOWN,
/**
/*
* MUST be always the last element!!
*/
NR_DEV_EVENTS
@ -304,11 +304,11 @@ static const char *dev_event_names[] = {
"Connection down",
};
/**
/*
* Events of the connection statemachine
*/
enum conn_events {
/**
/*
* Events, representing callbacks from
* lowlevel iucv layer)
*/
@ -320,23 +320,23 @@ enum conn_events {
CONN_EVENT_RX,
CONN_EVENT_TXDONE,
/**
/*
* Events, representing errors return codes from
* calls to lowlevel iucv layer
*/
/**
/*
* Event, representing timer expiry.
*/
CONN_EVENT_TIMER,
/**
/*
* Events, representing commands from upper levels.
*/
CONN_EVENT_START,
CONN_EVENT_STOP,
/**
/*
* MUST be always the last element!!
*/
NR_CONN_EVENTS,
@ -357,55 +357,55 @@ static const char *conn_event_names[] = {
"Stop",
};
/**
/*
* States of the connection statemachine.
*/
enum conn_states {
/**
/*
* Connection not assigned to any device,
* initial state, invalid
*/
CONN_STATE_INVALID,
/**
/*
* Userid assigned but not operating
*/
CONN_STATE_STOPPED,
/**
/*
* Connection registered,
* no connection request sent yet,
* no connection request received
*/
CONN_STATE_STARTWAIT,
/**
/*
* Connection registered and connection request sent,
* no acknowledge and no connection request received yet.
*/
CONN_STATE_SETUPWAIT,
/**
/*
* Connection up and running idle
*/
CONN_STATE_IDLE,
/**
/*
* Data sent, awaiting CONN_EVENT_TXDONE
*/
CONN_STATE_TX,
/**
/*
* Error during registration.
*/
CONN_STATE_REGERR,
/**
/*
* Error during registration.
*/
CONN_STATE_CONNERR,
/**
/*
* MUST be always the last element!!
*/
NR_CONN_STATES,
@ -424,7 +424,7 @@ static const char *conn_state_names[] = {
};
/**
/*
* Debug Facility Stuff
*/
static debug_info_t *iucv_dbf_setup = NULL;
@ -556,7 +556,7 @@ static void netiucv_callback_connres(struct iucv_path *path, u8 *ipuser)
fsm_event(conn->fsm, CONN_EVENT_CONN_RES, conn);
}
/**
/*
* NOP action for statemachines
*/
static void netiucv_action_nop(fsm_instance *fi, int event, void *arg)
@ -567,7 +567,7 @@ static void netiucv_action_nop(fsm_instance *fi, int event, void *arg)
* Actions of the connection statemachine
*/
/**
/*
* netiucv_unpack_skb
* @conn: The connection where this skb has been received.
* @pskb: The received skb.
@ -993,7 +993,7 @@ static const int CONN_FSM_LEN = sizeof(conn_fsm) / sizeof(fsm_node);
* Actions for interface - statemachine.
*/
/**
/*
* dev_action_start
* @fi: An instance of an interface statemachine.
* @event: The event, just happened.
@ -1012,7 +1012,7 @@ static void dev_action_start(fsm_instance *fi, int event, void *arg)
fsm_event(privptr->conn->fsm, CONN_EVENT_START, privptr->conn);
}
/**
/*
* Shutdown connection by sending CONN_EVENT_STOP to it.
*
* @param fi An instance of an interface statemachine.
@ -1034,7 +1034,7 @@ dev_action_stop(fsm_instance *fi, int event, void *arg)
fsm_event(privptr->conn->fsm, CONN_EVENT_STOP, &ev);
}
/**
/*
* Called from connection statemachine
* when a connection is up and running.
*
@ -1067,7 +1067,7 @@ dev_action_connup(fsm_instance *fi, int event, void *arg)
}
}
/**
/*
* Called from connection statemachine
* when a connection has been shutdown.
*
@ -1107,7 +1107,7 @@ static const fsm_node dev_fsm[] = {
static const int DEV_FSM_LEN = sizeof(dev_fsm) / sizeof(fsm_node);
/**
/*
* Transmit a packet.
* This is a helper function for netiucv_tx().
*
@ -1144,7 +1144,7 @@ static int netiucv_transmit_skb(struct iucv_connection *conn,
spin_unlock_irqrestore(&conn->collect_lock, saveflags);
} else {
struct sk_buff *nskb = skb;
/**
/*
* Copy the skb to a new allocated skb in lowmem only if the
* data is located above 2G in memory or tailroom is < 2.
*/
@ -1164,7 +1164,7 @@ static int netiucv_transmit_skb(struct iucv_connection *conn,
}
copied = 1;
}
/**
/*
* skb now is below 2G and has enough room. Add headers.
*/
header.next = nskb->len + NETIUCV_HDRLEN;
@ -1194,7 +1194,7 @@ static int netiucv_transmit_skb(struct iucv_connection *conn,
if (copied)
dev_kfree_skb(nskb);
else {
/**
/*
* Remove our headers. They get added
* again on retransmit.
*/
@ -1217,7 +1217,7 @@ static int netiucv_transmit_skb(struct iucv_connection *conn,
* Interface API for upper network layers
*/
/**
/*
* Open an interface.
* Called from generic network layer when ifconfig up is run.
*
@ -1233,7 +1233,7 @@ static int netiucv_open(struct net_device *dev)
return 0;
}
/**
/*
* Close an interface.
* Called from generic network layer when ifconfig down is run.
*
@ -1249,7 +1249,7 @@ static int netiucv_close(struct net_device *dev)
return 0;
}
/**
/*
* Start transmission of a packet.
* Called from generic network device layer.
*
@ -1266,7 +1266,7 @@ static int netiucv_tx(struct sk_buff *skb, struct net_device *dev)
int rc;
IUCV_DBF_TEXT(trace, 4, __func__);
/**
/*
* Some sanity checks ...
*/
if (skb == NULL) {
@ -1282,7 +1282,7 @@ static int netiucv_tx(struct sk_buff *skb, struct net_device *dev)
return NETDEV_TX_OK;
}
/**
/*
* If connection is not running, try to restart it
* and throw away packet.
*/
@ -1304,7 +1304,7 @@ static int netiucv_tx(struct sk_buff *skb, struct net_device *dev)
return rc ? NETDEV_TX_BUSY : NETDEV_TX_OK;
}
/**
/*
* netiucv_stats
* @dev: Pointer to interface struct.
*
@ -1745,7 +1745,7 @@ static void netiucv_unregister_device(struct device *dev)
device_unregister(dev);
}
/**
/*
* Allocate and initialize a new connection structure.
* Add it to the list of netiucv connections;
*/
@ -1802,7 +1802,7 @@ static struct iucv_connection *netiucv_new_connection(struct net_device *dev,
return NULL;
}
/**
/*
* Release a connection structure and remove it from the
* list of netiucv connections.
*/
@ -1826,7 +1826,7 @@ static void netiucv_remove_connection(struct iucv_connection *conn)
kfree_skb(conn->tx_buff);
}
/**
/*
* Release everything of a net device.
*/
static void netiucv_free_netdevice(struct net_device *dev)
@ -1848,7 +1848,7 @@ static void netiucv_free_netdevice(struct net_device *dev)
}
}
/**
/*
* Initialize a net device. (Called from kernel in alloc_netdev())
*/
static const struct net_device_ops netiucv_netdev_ops = {
@ -1873,7 +1873,7 @@ static void netiucv_setup_netdevice(struct net_device *dev)
dev->netdev_ops = &netiucv_netdev_ops;
}
/**
/*
* Allocate and initialize everything of a net device.
*/
static struct net_device *netiucv_init_netdevice(char *username, char *userdata)