Message ID | 20170317031743.40128-3-bjsdjshi@linux.vnet.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, 17 Mar 2017, Dong Jia Shi wrote: > Export the common I/O interfaces those are needed by an I/O > subchannel driver to actually talk to the subchannel. Which I/O subchannel driver are you talking about? I know of just one and it can't be build as a module. Sebastian
* Sebastian Ott <sebott@linux.vnet.ibm.com> [2017-03-17 10:29:31 +0100]: > On Fri, 17 Mar 2017, Dong Jia Shi wrote: > > Export the common I/O interfaces those are needed by an I/O > > subchannel driver to actually talk to the subchannel. > > Which I/O subchannel driver are you talking about? I know of just one > and it can't be build as a module. As I replied to you in another email, there will be a new I/O subchannel driver which is named as vfio-ccw subchannel driver. That driver could be built as a module, thus it needs these interfaces be exported. > > Sebastian
On Fri, 17 Mar 2017, Dong Jia Shi wrote: > Export the common I/O interfaces those are needed by an I/O > subchannel driver to actually talk to the subchannel. > > Reviewed-by: Pierre Morel <pmorel@linux.vnet.ibm.com> > Signed-off-by: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com> > Cc: Sebastian Ott <sebott@linux.vnet.ibm.com> > Cc: Peter Oberparleiter <oberpar@linux.vnet.ibm.com> > --- Acked-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
* Sebastian Ott <sebott@linux.vnet.ibm.com> [2017-03-23 13:02:46 +0100]: > On Fri, 17 Mar 2017, Dong Jia Shi wrote: > > Export the common I/O interfaces those are needed by an I/O > > subchannel driver to actually talk to the subchannel. > > > > Reviewed-by: Pierre Morel <pmorel@linux.vnet.ibm.com> > > Signed-off-by: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com> > > Cc: Sebastian Ott <sebott@linux.vnet.ibm.com> > > Cc: Peter Oberparleiter <oberpar@linux.vnet.ibm.com> > > --- > > Acked-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Hi Sebastian, Thanks for all of your acks!
diff --git a/drivers/s390/cio/cio.c b/drivers/s390/cio/cio.c index 5711e28..7ab6e60 100644 --- a/drivers/s390/cio/cio.c +++ b/drivers/s390/cio/cio.c @@ -170,12 +170,14 @@ cio_start_key (struct subchannel *sch, /* subchannel structure */ return ccode; } } +EXPORT_SYMBOL_GPL(cio_start_key); int cio_start (struct subchannel *sch, struct ccw1 *cpa, __u8 lpm) { return cio_start_key(sch, cpa, lpm, PAGE_DEFAULT_KEY); } +EXPORT_SYMBOL_GPL(cio_start); /* * resume suspended I/O operation @@ -208,6 +210,7 @@ cio_resume (struct subchannel *sch) return -ENODEV; } } +EXPORT_SYMBOL_GPL(cio_resume); /* * halt I/O operation @@ -241,6 +244,7 @@ cio_halt(struct subchannel *sch) return -ENODEV; } } +EXPORT_SYMBOL_GPL(cio_halt); /* * Clear I/O operation @@ -271,6 +275,7 @@ cio_clear(struct subchannel *sch) return -ENODEV; } } +EXPORT_SYMBOL_GPL(cio_clear); /* * Function: cio_cancel @@ -308,6 +313,7 @@ cio_cancel (struct subchannel *sch) return -ENODEV; } } +EXPORT_SYMBOL_GPL(cio_cancel); /** * cio_cancel_halt_clear - Cancel running I/O by performing cancel, halt @@ -368,6 +374,7 @@ int cio_cancel_halt_clear(struct subchannel *sch, int *iretry) /* Function was unsuccessful */ return -EIO; } +EXPORT_SYMBOL_GPL(cio_cancel_halt_clear); static void cio_apply_config(struct subchannel *sch, struct schib *schib) { @@ -441,6 +448,7 @@ int cio_commit_config(struct subchannel *sch) } return ret; } +EXPORT_SYMBOL_GPL(cio_commit_config); /** * cio_update_schib - Perform stsch and update schib if subchannel is valid. @@ -1046,6 +1054,7 @@ int cio_tm_start_key(struct subchannel *sch, struct tcw *tcw, u8 lpm, u8 key) return cio_start_handle_notoper(sch, lpm); } } +EXPORT_SYMBOL_GPL(cio_tm_start_key); /** * cio_tm_intrg - perform interrogate function @@ -1071,3 +1080,4 @@ int cio_tm_intrg(struct subchannel *sch) return -ENODEV; } } +EXPORT_SYMBOL_GPL(cio_tm_intrg);