Message ID | 20210803192905.72246-1-andriy.shevchenko@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v1,1/5] serdev: Split and export serdev_acpi_get_uart_resource() | expand |
This is automated email and please do not reply to this email! Dear submitter, Thank you for submitting the patches to the linux bluetooth mailing list. This is a CI test results with your patch series: PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=525847 ---Test result--- Test Summary: CheckPatch PASS 1.93 seconds GitLint PASS 0.50 seconds BuildKernel PASS 521.78 seconds TestRunner: Setup PASS 344.58 seconds TestRunner: l2cap-tester PASS 2.59 seconds TestRunner: bnep-tester PASS 1.93 seconds TestRunner: mgmt-tester PASS 31.06 seconds TestRunner: rfcomm-tester PASS 2.10 seconds TestRunner: sco-tester PASS 2.04 seconds TestRunner: smp-tester FAIL 2.09 seconds TestRunner: userchan-tester PASS 1.95 seconds Details ############################## Test: CheckPatch - PASS - 1.93 seconds Run checkpatch.pl script with rule in .checkpatch.conf ############################## Test: GitLint - PASS - 0.50 seconds Run gitlint with rule in .gitlint ############################## Test: BuildKernel - PASS - 521.78 seconds Build Kernel with minimal configuration supports Bluetooth ############################## Test: TestRunner: Setup - PASS - 344.58 seconds Setup environment for running Test Runner ############################## Test: TestRunner: l2cap-tester - PASS - 2.59 seconds Run test-runner with l2cap-tester Total: 40, Passed: 40 (100.0%), Failed: 0, Not Run: 0 ############################## Test: TestRunner: bnep-tester - PASS - 1.93 seconds Run test-runner with bnep-tester Total: 1, Passed: 1 (100.0%), Failed: 0, Not Run: 0 ############################## Test: TestRunner: mgmt-tester - PASS - 31.06 seconds Run test-runner with mgmt-tester Total: 448, Passed: 445 (99.3%), Failed: 0, Not Run: 3 ############################## Test: TestRunner: rfcomm-tester - PASS - 2.10 seconds Run test-runner with rfcomm-tester Total: 9, Passed: 9 (100.0%), Failed: 0, Not Run: 0 ############################## Test: TestRunner: sco-tester - PASS - 2.04 seconds Run test-runner with sco-tester Total: 8, Passed: 8 (100.0%), Failed: 0, Not Run: 0 ############################## Test: TestRunner: smp-tester - FAIL - 2.09 seconds Run test-runner with smp-tester Total: 8, Passed: 7 (87.5%), Failed: 1, Not Run: 0 Failed Test Cases SMP Client - SC Request 2 Failed 0.022 seconds ############################## Test: TestRunner: userchan-tester - PASS - 1.95 seconds Run test-runner with userchan-tester Total: 3, Passed: 3 (100.0%), Failed: 0, Not Run: 0 --- Regards, Linux Bluetooth
On Tue, Aug 03, 2021 at 01:04:18PM -0700, bluez.test.bot@gmail.com wrote: > This is automated email and please do not reply to this email! > > Dear submitter, > > Thank you for submitting the patches to the linux bluetooth mailing list. > This is a CI test results with your patch series: > PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=525847 ... > ############################## > Test: TestRunner: smp-tester - FAIL - 2.09 seconds > Run test-runner with smp-tester > Total: 8, Passed: 7 (87.5%), Failed: 1, Not Run: 0 > > Failed Test Cases > SMP Client - SC Request 2 Failed 0.022 seconds > > ############################## > Test: TestRunner: userchan-tester - PASS - 1.95 seconds > Run test-runner with userchan-tester > Total: 3, Passed: 3 (100.0%), Failed: 0, Not Run: 0 Hmm... I have read logs and I have no clue how my series may affect this. Any BT expert here to shed a light?
Hi, On 8/3/21 9:29 PM, Andy Shevchenko wrote: > The same as for I²C Serial Bus resource split and export > serdev_acpi_get_uart_resource(). We have already 3 users > one of which is converted here. > > Rationale of this is to consolidate parsing UART Serial Bus > resource in one place as it's done, e.g., for I²C Serial Bus. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Thanks, patch looks good to me: Reviewed-by: Hans de Goede <hdegoede@redhat.com> *for this patch* We do need to talk about how to merge this series, I've NACK-ed patches 3/5 and 4/5 (see my reply there) so that leaves just 2/5 as depending on this one. I believe it would be easiest to just merge 1/5 + 2/5 to the tree which caries serdev patches, which I guess is Greg's tty tree ? Greg can you pick up 1/5 and 2/5 ? Regards, Hans > --- > drivers/tty/serdev/core.c | 36 +++++++++++++++++++++++++++++------- > include/linux/serdev.h | 14 ++++++++++++++ > 2 files changed, 43 insertions(+), 7 deletions(-) > > diff --git a/drivers/tty/serdev/core.c b/drivers/tty/serdev/core.c > index 92498961fd92..436e3d1ba92c 100644 > --- a/drivers/tty/serdev/core.c > +++ b/drivers/tty/serdev/core.c > @@ -562,23 +562,45 @@ struct acpi_serdev_lookup { > int index; > }; > > +/** > + * serdev_acpi_get_uart_resource - Gets UARTSerialBus resource if type matches > + * @ares: ACPI resource > + * @uart: Pointer to UARTSerialBus resource will be returned here > + * > + * Checks if the given ACPI resource is of type UARTSerialBus. > + * In this case, returns a pointer to it to the caller. > + * > + * Returns true if resource type is of UARTSerialBus, otherwise false. > + */ > +bool serdev_acpi_get_uart_resource(struct acpi_resource *ares, > + struct acpi_resource_uart_serialbus **uart) > +{ > + struct acpi_resource_uart_serialbus *sb; > + > + if (ares->type != ACPI_RESOURCE_TYPE_SERIAL_BUS) > + return false; > + > + sb = &ares->data.uart_serial_bus; > + if (sb->type != ACPI_RESOURCE_SERIAL_TYPE_UART) > + return false; > + > + *uart = sb; > + return true; > +} > +EXPORT_SYMBOL_GPL(serdev_acpi_get_uart_resource); > + > static int acpi_serdev_parse_resource(struct acpi_resource *ares, void *data) > { > struct acpi_serdev_lookup *lookup = data; > struct acpi_resource_uart_serialbus *sb; > acpi_status status; > > - if (ares->type != ACPI_RESOURCE_TYPE_SERIAL_BUS) > - return 1; > - > - if (ares->data.common_serial_bus.type != ACPI_RESOURCE_SERIAL_TYPE_UART) > + if (!serdev_acpi_get_uart_resource(ares, &sb)) > return 1; > > if (lookup->index != -1 && lookup->n++ != lookup->index) > return 1; > > - sb = &ares->data.uart_serial_bus; > - > status = acpi_get_handle(lookup->device_handle, > sb->resource_source.string_ptr, > &lookup->controller_handle); > @@ -586,7 +608,7 @@ static int acpi_serdev_parse_resource(struct acpi_resource *ares, void *data) > return 1; > > /* > - * NOTE: Ideally, we would also want to retreive other properties here, > + * NOTE: Ideally, we would also want to retrieve other properties here, > * once setting them before opening the device is supported by serdev. > */ > > diff --git a/include/linux/serdev.h b/include/linux/serdev.h > index 9f14f9c12ec4..3368c261ab62 100644 > --- a/include/linux/serdev.h > +++ b/include/linux/serdev.h > @@ -327,4 +327,18 @@ static inline int serdev_tty_port_unregister(struct tty_port *port) > } > #endif /* CONFIG_SERIAL_DEV_CTRL_TTYPORT */ > > +struct acpi_resource; > +struct acpi_resource_uart_serialbus; > + > +#ifdef CONFIG_ACPI > +bool serdev_acpi_get_uart_resource(struct acpi_resource *ares, > + struct acpi_resource_uart_serialbus **uart); > +#else > +static inline bool serdev_acpi_get_uart_resource(struct acpi_resource *ares, > + struct acpi_resource_uart_serialbus **uart) > +{ > + return false; > +} > +#endif /* CONFIG_ACPI */ > + > #endif /*_LINUX_SERDEV_H */ >
On Wed, Aug 04, 2021 at 10:08:01AM +0200, Hans de Goede wrote: > Hi, > > On 8/3/21 9:29 PM, Andy Shevchenko wrote: > > The same as for I²C Serial Bus resource split and export > > serdev_acpi_get_uart_resource(). We have already 3 users > > one of which is converted here. > > > > Rationale of this is to consolidate parsing UART Serial Bus > > resource in one place as it's done, e.g., for I²C Serial Bus. > > > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > > Thanks, patch looks good to me: > > Reviewed-by: Hans de Goede <hdegoede@redhat.com> > > *for this patch* > > We do need to talk about how to merge this series, I've > NACK-ed patches 3/5 and 4/5 (see my reply there) so that > leaves just 2/5 as depending on this one. I believe it > would be easiest to just merge 1/5 + 2/5 to the tree > which caries serdev patches, which I guess is Greg's > tty tree ? I can resend a v2 with tags and dropped mentioned patches. I think it will be easier to everyone to handle.
diff --git a/drivers/tty/serdev/core.c b/drivers/tty/serdev/core.c index 92498961fd92..436e3d1ba92c 100644 --- a/drivers/tty/serdev/core.c +++ b/drivers/tty/serdev/core.c @@ -562,23 +562,45 @@ struct acpi_serdev_lookup { int index; }; +/** + * serdev_acpi_get_uart_resource - Gets UARTSerialBus resource if type matches + * @ares: ACPI resource + * @uart: Pointer to UARTSerialBus resource will be returned here + * + * Checks if the given ACPI resource is of type UARTSerialBus. + * In this case, returns a pointer to it to the caller. + * + * Returns true if resource type is of UARTSerialBus, otherwise false. + */ +bool serdev_acpi_get_uart_resource(struct acpi_resource *ares, + struct acpi_resource_uart_serialbus **uart) +{ + struct acpi_resource_uart_serialbus *sb; + + if (ares->type != ACPI_RESOURCE_TYPE_SERIAL_BUS) + return false; + + sb = &ares->data.uart_serial_bus; + if (sb->type != ACPI_RESOURCE_SERIAL_TYPE_UART) + return false; + + *uart = sb; + return true; +} +EXPORT_SYMBOL_GPL(serdev_acpi_get_uart_resource); + static int acpi_serdev_parse_resource(struct acpi_resource *ares, void *data) { struct acpi_serdev_lookup *lookup = data; struct acpi_resource_uart_serialbus *sb; acpi_status status; - if (ares->type != ACPI_RESOURCE_TYPE_SERIAL_BUS) - return 1; - - if (ares->data.common_serial_bus.type != ACPI_RESOURCE_SERIAL_TYPE_UART) + if (!serdev_acpi_get_uart_resource(ares, &sb)) return 1; if (lookup->index != -1 && lookup->n++ != lookup->index) return 1; - sb = &ares->data.uart_serial_bus; - status = acpi_get_handle(lookup->device_handle, sb->resource_source.string_ptr, &lookup->controller_handle); @@ -586,7 +608,7 @@ static int acpi_serdev_parse_resource(struct acpi_resource *ares, void *data) return 1; /* - * NOTE: Ideally, we would also want to retreive other properties here, + * NOTE: Ideally, we would also want to retrieve other properties here, * once setting them before opening the device is supported by serdev. */ diff --git a/include/linux/serdev.h b/include/linux/serdev.h index 9f14f9c12ec4..3368c261ab62 100644 --- a/include/linux/serdev.h +++ b/include/linux/serdev.h @@ -327,4 +327,18 @@ static inline int serdev_tty_port_unregister(struct tty_port *port) } #endif /* CONFIG_SERIAL_DEV_CTRL_TTYPORT */ +struct acpi_resource; +struct acpi_resource_uart_serialbus; + +#ifdef CONFIG_ACPI +bool serdev_acpi_get_uart_resource(struct acpi_resource *ares, + struct acpi_resource_uart_serialbus **uart); +#else +static inline bool serdev_acpi_get_uart_resource(struct acpi_resource *ares, + struct acpi_resource_uart_serialbus **uart) +{ + return false; +} +#endif /* CONFIG_ACPI */ + #endif /*_LINUX_SERDEV_H */
The same as for I²C Serial Bus resource split and export serdev_acpi_get_uart_resource(). We have already 3 users one of which is converted here. Rationale of this is to consolidate parsing UART Serial Bus resource in one place as it's done, e.g., for I²C Serial Bus. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> --- drivers/tty/serdev/core.c | 36 +++++++++++++++++++++++++++++------- include/linux/serdev.h | 14 ++++++++++++++ 2 files changed, 43 insertions(+), 7 deletions(-)