Merge branch 's390-next'
Frank Blaschka says: ==================== s390: network patches for net-next looks like there was a problem with my previous posting. Hope this time it will work. Sorry for any inconvenience. The patches are mostly cleanups and small enhancements for net-next ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
49cc91f919
@ -71,7 +71,7 @@ config CLAW
|
||||
config QETH
|
||||
def_tristate y
|
||||
prompt "Gigabit Ethernet device support"
|
||||
depends on CCW && NETDEVICES && IP_MULTICAST && QDIO
|
||||
depends on CCW && NETDEVICES && IP_MULTICAST && QDIO && ETHERNET
|
||||
help
|
||||
This driver supports the IBM System z OSA Express adapters
|
||||
in QDIO mode (all media types), HiperSockets interfaces and z/VM
|
||||
|
@ -44,8 +44,8 @@ static ssize_t ctcm_buffer_write(struct device *dev,
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
rc = sscanf(buf, "%u", &bs1);
|
||||
if (rc != 1)
|
||||
rc = kstrtouint(buf, 0, &bs1);
|
||||
if (rc)
|
||||
goto einval;
|
||||
if (bs1 > CTCM_BUFSIZE_LIMIT)
|
||||
goto einval;
|
||||
@ -151,8 +151,8 @@ static ssize_t ctcm_proto_store(struct device *dev,
|
||||
|
||||
if (!priv)
|
||||
return -ENODEV;
|
||||
rc = sscanf(buf, "%d", &value);
|
||||
if ((rc != 1) ||
|
||||
rc = kstrtoint(buf, 0, &value);
|
||||
if (rc ||
|
||||
!((value == CTCM_PROTO_S390) ||
|
||||
(value == CTCM_PROTO_LINUX) ||
|
||||
(value == CTCM_PROTO_MPC) ||
|
||||
|
@ -1943,15 +1943,16 @@ static ssize_t
|
||||
lcs_portno_store (struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
|
||||
{
|
||||
struct lcs_card *card;
|
||||
int value, rc;
|
||||
int rc;
|
||||
s16 value;
|
||||
|
||||
card = dev_get_drvdata(dev);
|
||||
|
||||
if (!card)
|
||||
return 0;
|
||||
|
||||
rc = sscanf(buf, "%d", &value);
|
||||
if (rc != 1)
|
||||
rc = kstrtos16(buf, 0, &value);
|
||||
if (rc)
|
||||
return -EINVAL;
|
||||
/* TODO: sanity checks */
|
||||
card->portno = value;
|
||||
@ -2007,8 +2008,8 @@ lcs_timeout_store (struct device *dev, struct device_attribute *attr, const char
|
||||
if (!card)
|
||||
return 0;
|
||||
|
||||
rc = sscanf(buf, "%u", &value);
|
||||
if (rc != 1)
|
||||
rc = kstrtouint(buf, 0, &value);
|
||||
if (rc)
|
||||
return -EINVAL;
|
||||
/* TODO: sanity checks */
|
||||
card->lancmd_timeout = value;
|
||||
|
@ -380,11 +380,6 @@ enum qeth_header_ids {
|
||||
#define QETH_HDR_EXT_CSUM_TRANSP_REQ 0x20
|
||||
#define QETH_HDR_EXT_UDP 0x40 /*bit off for TCP*/
|
||||
|
||||
static inline int qeth_is_last_sbale(struct qdio_buffer_element *sbale)
|
||||
{
|
||||
return (sbale->eflags & SBAL_EFLAGS_LAST_ENTRY);
|
||||
}
|
||||
|
||||
enum qeth_qdio_buffer_states {
|
||||
/*
|
||||
* inbound: read out by driver; owned by hardware in order to be filled
|
||||
@ -843,13 +838,6 @@ struct qeth_trap_id {
|
||||
/*some helper functions*/
|
||||
#define QETH_CARD_IFNAME(card) (((card)->dev)? (card)->dev->name : "")
|
||||
|
||||
static inline struct qeth_card *CARD_FROM_CDEV(struct ccw_device *cdev)
|
||||
{
|
||||
struct qeth_card *card = dev_get_drvdata(&((struct ccwgroup_device *)
|
||||
dev_get_drvdata(&cdev->dev))->dev);
|
||||
return card;
|
||||
}
|
||||
|
||||
static inline int qeth_get_micros(void)
|
||||
{
|
||||
return (int) (get_tod_clock() >> 12);
|
||||
@ -894,7 +882,6 @@ const char *qeth_get_cardname_short(struct qeth_card *);
|
||||
int qeth_realloc_buffer_pool(struct qeth_card *, int);
|
||||
int qeth_core_load_discipline(struct qeth_card *, enum qeth_discipline_id);
|
||||
void qeth_core_free_discipline(struct qeth_card *);
|
||||
void qeth_buffer_reclaim_work(struct work_struct *);
|
||||
|
||||
/* exports for qeth discipline device drivers */
|
||||
extern struct qeth_card_list_struct qeth_core_card_list;
|
||||
@ -913,7 +900,6 @@ int qeth_core_hardsetup_card(struct qeth_card *);
|
||||
void qeth_print_status_message(struct qeth_card *);
|
||||
int qeth_init_qdio_queues(struct qeth_card *);
|
||||
int qeth_send_startlan(struct qeth_card *);
|
||||
int qeth_send_stoplan(struct qeth_card *);
|
||||
int qeth_send_ipa_cmd(struct qeth_card *, struct qeth_cmd_buffer *,
|
||||
int (*reply_cb)
|
||||
(struct qeth_card *, struct qeth_reply *, unsigned long),
|
||||
@ -954,8 +940,6 @@ int qeth_snmp_command(struct qeth_card *, char __user *);
|
||||
int qeth_query_oat_command(struct qeth_card *, char __user *);
|
||||
int qeth_query_switch_attributes(struct qeth_card *card,
|
||||
struct qeth_switch_info *sw_info);
|
||||
int qeth_query_card_info(struct qeth_card *card,
|
||||
struct carrier_info *carrier_info);
|
||||
int qeth_send_control_data(struct qeth_card *, int, struct qeth_cmd_buffer *,
|
||||
int (*reply_cb)(struct qeth_card *, struct qeth_reply*, unsigned long),
|
||||
void *reply_param);
|
||||
|
@ -718,6 +718,13 @@ static int qeth_check_idx_response(struct qeth_card *card,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct qeth_card *CARD_FROM_CDEV(struct ccw_device *cdev)
|
||||
{
|
||||
struct qeth_card *card = dev_get_drvdata(&((struct ccwgroup_device *)
|
||||
dev_get_drvdata(&cdev->dev))->dev);
|
||||
return card;
|
||||
}
|
||||
|
||||
static void qeth_setup_ccw(struct qeth_channel *channel, unsigned char *iob,
|
||||
__u32 len)
|
||||
{
|
||||
@ -1431,6 +1438,7 @@ static void qeth_start_kernel_thread(struct work_struct *work)
|
||||
}
|
||||
}
|
||||
|
||||
static void qeth_buffer_reclaim_work(struct work_struct *);
|
||||
static int qeth_setup_card(struct qeth_card *card)
|
||||
{
|
||||
|
||||
@ -3232,7 +3240,7 @@ int qeth_check_qdio_errors(struct qeth_card *card, struct qdio_buffer *buf,
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(qeth_check_qdio_errors);
|
||||
|
||||
void qeth_buffer_reclaim_work(struct work_struct *work)
|
||||
static void qeth_buffer_reclaim_work(struct work_struct *work)
|
||||
{
|
||||
struct qeth_card *card = container_of(work, struct qeth_card,
|
||||
buffer_reclaim_work.work);
|
||||
@ -4126,7 +4134,7 @@ static int qeth_setadp_promisc_mode_cb(struct qeth_card *card,
|
||||
|
||||
qeth_default_setadapterparms_cb(card, reply, (unsigned long)cmd);
|
||||
if (cmd->hdr.return_code) {
|
||||
QETH_CARD_TEXT_(card, 4, "prmrc%2.2x", cmd->hdr.return_code);
|
||||
QETH_CARD_TEXT_(card, 4, "prmrc%x", cmd->hdr.return_code);
|
||||
setparms->data.mode = SET_PROMISC_MODE_OFF;
|
||||
}
|
||||
card->info.promisc_mode = setparms->data.mode;
|
||||
@ -4493,13 +4501,13 @@ static int qeth_snmp_command_cb(struct qeth_card *card,
|
||||
snmp = &cmd->data.setadapterparms.data.snmp;
|
||||
|
||||
if (cmd->hdr.return_code) {
|
||||
QETH_CARD_TEXT_(card, 4, "scer1%i", cmd->hdr.return_code);
|
||||
QETH_CARD_TEXT_(card, 4, "scer1%x", cmd->hdr.return_code);
|
||||
return 0;
|
||||
}
|
||||
if (cmd->data.setadapterparms.hdr.return_code) {
|
||||
cmd->hdr.return_code =
|
||||
cmd->data.setadapterparms.hdr.return_code;
|
||||
QETH_CARD_TEXT_(card, 4, "scer2%i", cmd->hdr.return_code);
|
||||
QETH_CARD_TEXT_(card, 4, "scer2%x", cmd->hdr.return_code);
|
||||
return 0;
|
||||
}
|
||||
data_len = *((__u16 *)QETH_IPA_PDU_LEN_PDU1(data));
|
||||
@ -4717,7 +4725,7 @@ static int qeth_query_card_info_cb(struct qeth_card *card,
|
||||
return 0;
|
||||
}
|
||||
|
||||
int qeth_query_card_info(struct qeth_card *card,
|
||||
static int qeth_query_card_info(struct qeth_card *card,
|
||||
struct carrier_info *carrier_info)
|
||||
{
|
||||
struct qeth_cmd_buffer *iob;
|
||||
@ -4730,7 +4738,6 @@ int qeth_query_card_info(struct qeth_card *card,
|
||||
return qeth_send_ipa_cmd(card, iob, qeth_query_card_info_cb,
|
||||
(void *)carrier_info);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(qeth_query_card_info);
|
||||
|
||||
static inline int qeth_get_qdio_q_format(struct qeth_card *card)
|
||||
{
|
||||
@ -5113,6 +5120,11 @@ static inline int qeth_create_skb_frag(struct qeth_qdio_buffer *qethbuffer,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int qeth_is_last_sbale(struct qdio_buffer_element *sbale)
|
||||
{
|
||||
return (sbale->eflags & SBAL_EFLAGS_LAST_ENTRY);
|
||||
}
|
||||
|
||||
struct sk_buff *qeth_core_get_next_skb(struct qeth_card *card,
|
||||
struct qeth_qdio_buffer *qethbuffer,
|
||||
struct qdio_buffer_element **__element, int *__offset,
|
||||
|
@ -1512,7 +1512,7 @@ static void qeth_bridge_state_change(struct qeth_card *card,
|
||||
|
||||
QETH_CARD_TEXT(card, 2, "brstchng");
|
||||
if (qports->entry_length != sizeof(struct qeth_sbp_port_entry)) {
|
||||
QETH_CARD_TEXT_(card, 2, "BPsz%.8d", qports->entry_length);
|
||||
QETH_CARD_TEXT_(card, 2, "BPsz%04x", qports->entry_length);
|
||||
return;
|
||||
}
|
||||
extrasize = sizeof(struct qeth_sbp_port_entry) * qports->num_entries;
|
||||
|
@ -42,10 +42,6 @@ struct qeth_ipato_entry {
|
||||
};
|
||||
|
||||
|
||||
void qeth_l3_ipaddr4_to_string(const __u8 *, char *);
|
||||
int qeth_l3_string_to_ipaddr4(const char *, __u8 *);
|
||||
void qeth_l3_ipaddr6_to_string(const __u8 *, char *);
|
||||
int qeth_l3_string_to_ipaddr6(const char *, __u8 *);
|
||||
void qeth_l3_ipaddr_to_string(enum qeth_prot_versions, const __u8 *, char *);
|
||||
int qeth_l3_string_to_ipaddr(const char *, enum qeth_prot_versions, __u8 *);
|
||||
int qeth_l3_create_device_attributes(struct device *);
|
||||
|
@ -55,12 +55,12 @@ static int qeth_l3_isxdigit(char *buf)
|
||||
return 1;
|
||||
}
|
||||
|
||||
void qeth_l3_ipaddr4_to_string(const __u8 *addr, char *buf)
|
||||
static void qeth_l3_ipaddr4_to_string(const __u8 *addr, char *buf)
|
||||
{
|
||||
sprintf(buf, "%i.%i.%i.%i", addr[0], addr[1], addr[2], addr[3]);
|
||||
}
|
||||
|
||||
int qeth_l3_string_to_ipaddr4(const char *buf, __u8 *addr)
|
||||
static int qeth_l3_string_to_ipaddr4(const char *buf, __u8 *addr)
|
||||
{
|
||||
int count = 0, rc = 0;
|
||||
unsigned int in[4];
|
||||
@ -78,12 +78,12 @@ int qeth_l3_string_to_ipaddr4(const char *buf, __u8 *addr)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void qeth_l3_ipaddr6_to_string(const __u8 *addr, char *buf)
|
||||
static void qeth_l3_ipaddr6_to_string(const __u8 *addr, char *buf)
|
||||
{
|
||||
sprintf(buf, "%pI6", addr);
|
||||
}
|
||||
|
||||
int qeth_l3_string_to_ipaddr6(const char *buf, __u8 *addr)
|
||||
static int qeth_l3_string_to_ipaddr6(const char *buf, __u8 *addr)
|
||||
{
|
||||
const char *end, *end_tmp, *start;
|
||||
__u16 *in;
|
||||
@ -2502,7 +2502,7 @@ static int qeth_l3_arp_query(struct qeth_card *card, char __user *udata)
|
||||
rc = -EFAULT;
|
||||
goto free_and_out;
|
||||
}
|
||||
QETH_CARD_TEXT_(card, 4, "qacts");
|
||||
QETH_CARD_TEXT(card, 4, "qacts");
|
||||
}
|
||||
free_and_out:
|
||||
kfree(qinfo.udata);
|
||||
|
Loading…
Reference in New Issue
Block a user