LCOV - code coverage report
Current view: top level - avtg/drivers/mmc/core/mmc_core.ko/linux:drivers:clk2/weaver - sd.c.aux (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1560 1596 97.7 %
Date: 2017-01-25 Functions: 33 33 100.0 %

          Line data    Source code
       1             : 
       2             : struct device;
       3             : 
       4             : void *ldv_dev_get_drvdata(const struct device *dev);
       5             : int ldv_dev_set_drvdata(struct device *dev, void *data);
       6             : 
       7             : struct spi_master;
       8             : struct device;
       9             : struct spi_master *ldv_spi_alloc_master(struct device *host, unsigned size);
      10             : 
      11             : #include <linux/ldv/err.h>
      12             : 
      13             : #include <linux/types.h>
      14             : void *ldv_kzalloc(size_t size, gfp_t flags);
      15             : 
      16             : struct clk;
      17             : 
      18             : extern void ldv_clk_disable(struct clk *clk);
      19             : extern int ldv_clk_enable(void);
      20             : 
      21             : #include <linux/ldv/common.h>
      22             : #include <linux/ldv/irq.h>
      23             : #include <verifier/common.h>
      24             : #include <verifier/nondet.h>
      25             : #include <verifier/memory.h>
      26             : #include <verifier/thread.h>
      27             : 
      28             : #include <linux/device.h>
      29             : #include <linux/platform_device.h>
      30             : #include <linux/pm.h>
      31             : #include <linux/rtc.h>
      32             : #include <linux/timer.h>
      33             : 
      34             : 
      35             : struct ldv_struct_platform_instance_2 {
      36             :  int signal_pending;
      37             : };
      38             : 
      39             : struct ldv_struct_timer_scenario_24 {
      40             :  struct timer_list *arg0;
      41             :  int signal_pending;
      42             : };
      43             : 
      44             : /* EMG Function declarations */
      45             : void ldv_random_containerless_scenario_callback_22_8(void (*)(struct mmc_host *), struct mmc_host *);
      46             : void ldv_random_containerless_scenario_callback_22_9(void (*)(struct mmc_host *), struct mmc_host *);
      47             : void ldv_random_containerless_scenario_callback_23_10(void (*)(struct mmc_host *), struct mmc_host *);
      48             : void ldv_random_containerless_scenario_callback_23_11(int (*)(struct mmc_host *), struct mmc_host *);
      49             : void ldv_random_containerless_scenario_callback_23_9(void (*)(struct mmc_host *), struct mmc_host *);
      50             : void ldv_rtc_class_scenario_10(void *);
      51             : void ldv_rtc_class_scenario_11(void *);
      52             : void ldv_rtc_class_scenario_12(void *);
      53             : void ldv_rtc_class_scenario_13(void *);
      54             : void ldv_rtc_class_scenario_14(void *);
      55             : void ldv_rtc_class_scenario_15(void *);
      56             : void ldv_rtc_class_scenario_16(void *);
      57             : void ldv_rtc_class_scenario_17(void *);
      58             : void ldv_rtc_class_scenario_18(void *);
      59             : void ldv_rtc_class_scenario_19(void *);
      60             : void ldv_rtc_class_scenario_20(void *);
      61             : void ldv_rtc_class_scenario_3(void *);
      62             : void ldv_rtc_class_scenario_4(void *);
      63             : void ldv_rtc_class_scenario_5(void *);
      64             : void ldv_rtc_class_scenario_6(void *);
      65             : void ldv_rtc_class_scenario_7(void *);
      66             : void ldv_rtc_class_scenario_8(void *);
      67             : void ldv_rtc_class_scenario_9(void *);
      68             : extern void ldv_rtc_class_scenario_callback_10_15(int (*)(struct device *, struct device_driver *), struct device *, struct device_driver *);
      69             : extern void ldv_rtc_class_scenario_callback_10_16(int (*)(struct device *), struct device *);
      70             : extern void ldv_rtc_class_scenario_callback_10_17(int (*)(struct device *), struct device *);
      71             : void ldv_rtc_class_scenario_callback_10_18(ssize_t (*)(struct device *, struct device_attribute *, char *), struct device *, struct device_attribute *, char *);
      72             : extern void ldv_rtc_class_scenario_callback_10_21(int (*)(struct device *, pm_message_t ), struct device *, struct pm_message);
      73             : extern void ldv_rtc_class_scenario_callback_10_22(int (*)(struct device *, struct kobj_uevent_env *), struct device *, struct kobj_uevent_env *);
      74             : extern void ldv_rtc_class_scenario_callback_10_4(int (*)(struct device *), struct device *);
      75             : extern void ldv_rtc_class_scenario_callback_11_15(int (*)(struct device *, struct device_driver *), struct device *, struct device_driver *);
      76             : extern void ldv_rtc_class_scenario_callback_11_16(int (*)(struct device *), struct device *);
      77             : extern void ldv_rtc_class_scenario_callback_11_17(int (*)(struct device *), struct device *);
      78             : void ldv_rtc_class_scenario_callback_11_18(ssize_t (*)(struct device *, struct device_attribute *, char *), struct device *, struct device_attribute *, char *);
      79             : extern void ldv_rtc_class_scenario_callback_11_21(int (*)(struct device *, pm_message_t ), struct device *, struct pm_message);
      80             : extern void ldv_rtc_class_scenario_callback_11_22(int (*)(struct device *, struct kobj_uevent_env *), struct device *, struct kobj_uevent_env *);
      81             : extern void ldv_rtc_class_scenario_callback_11_4(int (*)(struct device *), struct device *);
      82             : extern void ldv_rtc_class_scenario_callback_12_15(int (*)(struct device *, struct device_driver *), struct device *, struct device_driver *);
      83             : extern void ldv_rtc_class_scenario_callback_12_16(int (*)(struct device *), struct device *);
      84             : extern void ldv_rtc_class_scenario_callback_12_17(int (*)(struct device *), struct device *);
      85             : void ldv_rtc_class_scenario_callback_12_18(ssize_t (*)(struct device *, struct device_attribute *, char *), struct device *, struct device_attribute *, char *);
      86             : extern void ldv_rtc_class_scenario_callback_12_21(int (*)(struct device *, pm_message_t ), struct device *, struct pm_message);
      87             : extern void ldv_rtc_class_scenario_callback_12_22(int (*)(struct device *, struct kobj_uevent_env *), struct device *, struct kobj_uevent_env *);
      88             : extern void ldv_rtc_class_scenario_callback_12_4(int (*)(struct device *), struct device *);
      89             : extern void ldv_rtc_class_scenario_callback_13_15(int (*)(struct device *, struct device_driver *), struct device *, struct device_driver *);
      90             : extern void ldv_rtc_class_scenario_callback_13_16(int (*)(struct device *), struct device *);
      91             : extern void ldv_rtc_class_scenario_callback_13_17(int (*)(struct device *), struct device *);
      92             : extern void ldv_rtc_class_scenario_callback_13_18(ssize_t (*)(struct device *, struct device_attribute *, char *), struct device *, struct device_attribute *, char *);
      93             : extern void ldv_rtc_class_scenario_callback_13_21(int (*)(struct device *, pm_message_t ), struct device *, struct pm_message);
      94             : extern void ldv_rtc_class_scenario_callback_13_22(int (*)(struct device *, struct kobj_uevent_env *), struct device *, struct kobj_uevent_env *);
      95             : extern void ldv_rtc_class_scenario_callback_13_4(int (*)(struct device *), struct device *);
      96             : extern void ldv_rtc_class_scenario_callback_14_15(int (*)(struct device *, struct device_driver *), struct device *, struct device_driver *);
      97             : extern void ldv_rtc_class_scenario_callback_14_16(int (*)(struct device *), struct device *);
      98             : extern void ldv_rtc_class_scenario_callback_14_17(int (*)(struct device *), struct device *);
      99             : extern void ldv_rtc_class_scenario_callback_14_18(ssize_t (*)(struct device *, struct device_attribute *, char *), struct device *, struct device_attribute *, char *);
     100             : extern void ldv_rtc_class_scenario_callback_14_21(int (*)(struct device *, pm_message_t ), struct device *, struct pm_message);
     101             : extern void ldv_rtc_class_scenario_callback_14_22(int (*)(struct device *, struct kobj_uevent_env *), struct device *, struct kobj_uevent_env *);
     102             : extern void ldv_rtc_class_scenario_callback_14_4(int (*)(struct device *), struct device *);
     103             : extern void ldv_rtc_class_scenario_callback_15_15(int (*)(struct device *, struct device_driver *), struct device *, struct device_driver *);
     104             : extern void ldv_rtc_class_scenario_callback_15_16(int (*)(struct device *), struct device *);
     105             : extern void ldv_rtc_class_scenario_callback_15_17(int (*)(struct device *), struct device *);
     106             : extern void ldv_rtc_class_scenario_callback_15_18(ssize_t (*)(struct device *, struct device_attribute *, char *), struct device *, struct device_attribute *, char *);
     107             : extern void ldv_rtc_class_scenario_callback_15_21(int (*)(struct device *, pm_message_t ), struct device *, struct pm_message);
     108             : extern void ldv_rtc_class_scenario_callback_15_22(int (*)(struct device *, struct kobj_uevent_env *), struct device *, struct kobj_uevent_env *);
     109             : extern void ldv_rtc_class_scenario_callback_15_4(int (*)(struct device *), struct device *);
     110             : extern void ldv_rtc_class_scenario_callback_16_15(int (*)(struct device *, struct device_driver *), struct device *, struct device_driver *);
     111             : extern void ldv_rtc_class_scenario_callback_16_16(int (*)(struct device *), struct device *);
     112             : extern void ldv_rtc_class_scenario_callback_16_17(int (*)(struct device *), struct device *);
     113             : extern void ldv_rtc_class_scenario_callback_16_18(ssize_t (*)(struct device *, struct device_attribute *, char *), struct device *, struct device_attribute *, char *);
     114             : extern void ldv_rtc_class_scenario_callback_16_21(int (*)(struct device *, pm_message_t ), struct device *, struct pm_message);
     115             : extern void ldv_rtc_class_scenario_callback_16_22(int (*)(struct device *, struct kobj_uevent_env *), struct device *, struct kobj_uevent_env *);
     116             : extern void ldv_rtc_class_scenario_callback_16_4(int (*)(struct device *), struct device *);
     117             : extern void ldv_rtc_class_scenario_callback_17_15(int (*)(struct device *, struct device_driver *), struct device *, struct device_driver *);
     118             : extern void ldv_rtc_class_scenario_callback_17_16(int (*)(struct device *), struct device *);
     119             : extern void ldv_rtc_class_scenario_callback_17_17(int (*)(struct device *), struct device *);
     120             : void ldv_rtc_class_scenario_callback_17_18(ssize_t (*)(struct device *, struct device_attribute *, char *), struct device *, struct device_attribute *, char *);
     121             : extern void ldv_rtc_class_scenario_callback_17_21(int (*)(struct device *, pm_message_t ), struct device *, struct pm_message);
     122             : extern void ldv_rtc_class_scenario_callback_17_22(int (*)(struct device *, struct kobj_uevent_env *), struct device *, struct kobj_uevent_env *);
     123             : extern void ldv_rtc_class_scenario_callback_17_4(int (*)(struct device *), struct device *);
     124             : extern void ldv_rtc_class_scenario_callback_18_15(int (*)(struct device *, struct device_driver *), struct device *, struct device_driver *);
     125             : extern void ldv_rtc_class_scenario_callback_18_16(int (*)(struct device *), struct device *);
     126             : extern void ldv_rtc_class_scenario_callback_18_17(int (*)(struct device *), struct device *);
     127             : extern void ldv_rtc_class_scenario_callback_18_18(ssize_t (*)(struct device *, struct device_attribute *, char *), struct device *, struct device_attribute *, char *);
     128             : extern void ldv_rtc_class_scenario_callback_18_21(int (*)(struct device *, pm_message_t ), struct device *, struct pm_message);
     129             : extern void ldv_rtc_class_scenario_callback_18_22(int (*)(struct device *, struct kobj_uevent_env *), struct device *, struct kobj_uevent_env *);
     130             : extern void ldv_rtc_class_scenario_callback_18_4(int (*)(struct device *), struct device *);
     131             : extern void ldv_rtc_class_scenario_callback_19_15(int (*)(struct device *, struct device_driver *), struct device *, struct device_driver *);
     132             : extern void ldv_rtc_class_scenario_callback_19_16(int (*)(struct device *), struct device *);
     133             : extern void ldv_rtc_class_scenario_callback_19_17(int (*)(struct device *), struct device *);
     134             : extern void ldv_rtc_class_scenario_callback_19_18(ssize_t (*)(struct device *, struct device_attribute *, char *), struct device *, struct device_attribute *, char *);
     135             : extern void ldv_rtc_class_scenario_callback_19_21(int (*)(struct device *, pm_message_t ), struct device *, struct pm_message);
     136             : extern void ldv_rtc_class_scenario_callback_19_22(int (*)(struct device *, struct kobj_uevent_env *), struct device *, struct kobj_uevent_env *);
     137             : extern void ldv_rtc_class_scenario_callback_19_4(int (*)(struct device *), struct device *);
     138             : extern void ldv_rtc_class_scenario_callback_20_15(int (*)(struct device *, struct device_driver *), struct device *, struct device_driver *);
     139             : extern void ldv_rtc_class_scenario_callback_20_16(int (*)(struct device *), struct device *);
     140             : extern void ldv_rtc_class_scenario_callback_20_17(int (*)(struct device *), struct device *);
     141             : extern void ldv_rtc_class_scenario_callback_20_18(ssize_t (*)(struct device *, struct device_attribute *, char *), struct device *, struct device_attribute *, char *);
     142             : extern void ldv_rtc_class_scenario_callback_20_21(int (*)(struct device *, pm_message_t ), struct device *, struct pm_message);
     143             : extern void ldv_rtc_class_scenario_callback_20_22(int (*)(struct device *, struct kobj_uevent_env *), struct device *, struct kobj_uevent_env *);
     144             : extern void ldv_rtc_class_scenario_callback_20_4(int (*)(struct device *), struct device *);
     145             : extern void ldv_rtc_class_scenario_callback_3_15(int (*)(struct device *, struct device_driver *), struct device *, struct device_driver *);
     146             : extern void ldv_rtc_class_scenario_callback_3_16(int (*)(struct device *), struct device *);
     147             : extern void ldv_rtc_class_scenario_callback_3_17(int (*)(struct device *), struct device *);
     148             : extern void ldv_rtc_class_scenario_callback_3_18(ssize_t (*)(struct device *, struct device_attribute *, char *), struct device *, struct device_attribute *, char *);
     149             : extern void ldv_rtc_class_scenario_callback_3_21(int (*)(struct device *, pm_message_t ), struct device *, struct pm_message);
     150             : extern void ldv_rtc_class_scenario_callback_3_22(int (*)(struct device *, struct kobj_uevent_env *), struct device *, struct kobj_uevent_env *);
     151             : extern void ldv_rtc_class_scenario_callback_3_4(int (*)(struct device *), struct device *);
     152             : extern void ldv_rtc_class_scenario_callback_4_15(int (*)(struct device *, struct device_driver *), struct device *, struct device_driver *);
     153             : extern void ldv_rtc_class_scenario_callback_4_16(int (*)(struct device *), struct device *);
     154             : extern void ldv_rtc_class_scenario_callback_4_17(int (*)(struct device *), struct device *);
     155             : void ldv_rtc_class_scenario_callback_4_18(ssize_t (*)(struct device *, struct device_attribute *, char *), struct device *, struct device_attribute *, char *);
     156             : extern void ldv_rtc_class_scenario_callback_4_21(int (*)(struct device *, pm_message_t ), struct device *, struct pm_message);
     157             : extern void ldv_rtc_class_scenario_callback_4_22(int (*)(struct device *, struct kobj_uevent_env *), struct device *, struct kobj_uevent_env *);
     158             : extern void ldv_rtc_class_scenario_callback_4_4(int (*)(struct device *), struct device *);
     159             : extern void ldv_rtc_class_scenario_callback_5_15(int (*)(struct device *, struct device_driver *), struct device *, struct device_driver *);
     160             : extern void ldv_rtc_class_scenario_callback_5_16(int (*)(struct device *), struct device *);
     161             : extern void ldv_rtc_class_scenario_callback_5_17(int (*)(struct device *), struct device *);
     162             : void ldv_rtc_class_scenario_callback_5_18(ssize_t (*)(struct device *, struct device_attribute *, char *), struct device *, struct device_attribute *, char *);
     163             : extern void ldv_rtc_class_scenario_callback_5_21(int (*)(struct device *, pm_message_t ), struct device *, struct pm_message);
     164             : extern void ldv_rtc_class_scenario_callback_5_22(int (*)(struct device *, struct kobj_uevent_env *), struct device *, struct kobj_uevent_env *);
     165             : extern void ldv_rtc_class_scenario_callback_5_4(int (*)(struct device *), struct device *);
     166             : extern void ldv_rtc_class_scenario_callback_6_15(int (*)(struct device *, struct device_driver *), struct device *, struct device_driver *);
     167             : extern void ldv_rtc_class_scenario_callback_6_16(int (*)(struct device *), struct device *);
     168             : extern void ldv_rtc_class_scenario_callback_6_17(int (*)(struct device *), struct device *);
     169             : void ldv_rtc_class_scenario_callback_6_18(ssize_t (*)(struct device *, struct device_attribute *, char *), struct device *, struct device_attribute *, char *);
     170             : extern void ldv_rtc_class_scenario_callback_6_21(int (*)(struct device *, pm_message_t ), struct device *, struct pm_message);
     171             : extern void ldv_rtc_class_scenario_callback_6_22(int (*)(struct device *, struct kobj_uevent_env *), struct device *, struct kobj_uevent_env *);
     172             : extern void ldv_rtc_class_scenario_callback_6_4(int (*)(struct device *), struct device *);
     173             : extern void ldv_rtc_class_scenario_callback_7_15(int (*)(struct device *, struct device_driver *), struct device *, struct device_driver *);
     174             : extern void ldv_rtc_class_scenario_callback_7_16(int (*)(struct device *), struct device *);
     175             : extern void ldv_rtc_class_scenario_callback_7_17(int (*)(struct device *), struct device *);
     176             : void ldv_rtc_class_scenario_callback_7_18(ssize_t (*)(struct device *, struct device_attribute *, char *), struct device *, struct device_attribute *, char *);
     177             : extern void ldv_rtc_class_scenario_callback_7_21(int (*)(struct device *, pm_message_t ), struct device *, struct pm_message);
     178             : extern void ldv_rtc_class_scenario_callback_7_22(int (*)(struct device *, struct kobj_uevent_env *), struct device *, struct kobj_uevent_env *);
     179             : extern void ldv_rtc_class_scenario_callback_7_4(int (*)(struct device *), struct device *);
     180             : extern void ldv_rtc_class_scenario_callback_8_15(int (*)(struct device *, struct device_driver *), struct device *, struct device_driver *);
     181             : extern void ldv_rtc_class_scenario_callback_8_16(int (*)(struct device *), struct device *);
     182             : extern void ldv_rtc_class_scenario_callback_8_17(int (*)(struct device *), struct device *);
     183             : void ldv_rtc_class_scenario_callback_8_18(ssize_t (*)(struct device *, struct device_attribute *, char *), struct device *, struct device_attribute *, char *);
     184             : extern void ldv_rtc_class_scenario_callback_8_21(int (*)(struct device *, pm_message_t ), struct device *, struct pm_message);
     185             : extern void ldv_rtc_class_scenario_callback_8_22(int (*)(struct device *, struct kobj_uevent_env *), struct device *, struct kobj_uevent_env *);
     186             : extern void ldv_rtc_class_scenario_callback_8_4(int (*)(struct device *), struct device *);
     187             : extern void ldv_rtc_class_scenario_callback_9_15(int (*)(struct device *, struct device_driver *), struct device *, struct device_driver *);
     188             : extern void ldv_rtc_class_scenario_callback_9_16(int (*)(struct device *), struct device *);
     189             : extern void ldv_rtc_class_scenario_callback_9_17(int (*)(struct device *), struct device *);
     190             : void ldv_rtc_class_scenario_callback_9_18(ssize_t (*)(struct device *, struct device_attribute *, char *), struct device *, struct device_attribute *, char *);
     191             : extern void ldv_rtc_class_scenario_callback_9_21(int (*)(struct device *, pm_message_t ), struct device *, struct pm_message);
     192             : extern void ldv_rtc_class_scenario_callback_9_22(int (*)(struct device *, struct kobj_uevent_env *), struct device *, struct kobj_uevent_env *);
     193             : extern void ldv_rtc_class_scenario_callback_9_4(int (*)(struct device *), struct device *);
     194             : extern int ldv_rtc_class_scenario_probe_10_11(int (*)(struct device *), struct device *);
     195             : extern int ldv_rtc_class_scenario_probe_11_11(int (*)(struct device *), struct device *);
     196             : extern int ldv_rtc_class_scenario_probe_12_11(int (*)(struct device *), struct device *);
     197             : extern int ldv_rtc_class_scenario_probe_13_11(int (*)(struct device *), struct device *);
     198             : extern int ldv_rtc_class_scenario_probe_14_11(int (*)(struct device *), struct device *);
     199             : extern int ldv_rtc_class_scenario_probe_15_11(int (*)(struct device *), struct device *);
     200             : extern int ldv_rtc_class_scenario_probe_16_11(int (*)(struct device *), struct device *);
     201             : extern int ldv_rtc_class_scenario_probe_17_11(int (*)(struct device *), struct device *);
     202             : extern int ldv_rtc_class_scenario_probe_18_11(int (*)(struct device *), struct device *);
     203             : extern int ldv_rtc_class_scenario_probe_19_11(int (*)(struct device *), struct device *);
     204             : extern int ldv_rtc_class_scenario_probe_20_11(int (*)(struct device *), struct device *);
     205             : extern int ldv_rtc_class_scenario_probe_3_11(int (*)(struct device *), struct device *);
     206             : extern int ldv_rtc_class_scenario_probe_4_11(int (*)(struct device *), struct device *);
     207             : extern int ldv_rtc_class_scenario_probe_5_11(int (*)(struct device *), struct device *);
     208             : extern int ldv_rtc_class_scenario_probe_6_11(int (*)(struct device *), struct device *);
     209             : extern int ldv_rtc_class_scenario_probe_7_11(int (*)(struct device *), struct device *);
     210             : extern int ldv_rtc_class_scenario_probe_8_11(int (*)(struct device *), struct device *);
     211             : extern int ldv_rtc_class_scenario_probe_9_11(int (*)(struct device *), struct device *);
     212             : extern void ldv_rtc_class_scenario_release_10_2(void (*)(struct device *), struct device *);
     213             : extern void ldv_rtc_class_scenario_release_11_2(void (*)(struct device *), struct device *);
     214             : extern void ldv_rtc_class_scenario_release_12_2(void (*)(struct device *), struct device *);
     215             : extern void ldv_rtc_class_scenario_release_13_2(void (*)(struct device *), struct device *);
     216             : extern void ldv_rtc_class_scenario_release_14_2(void (*)(struct device *), struct device *);
     217             : extern void ldv_rtc_class_scenario_release_15_2(void (*)(struct device *), struct device *);
     218             : extern void ldv_rtc_class_scenario_release_16_2(void (*)(struct device *), struct device *);
     219             : extern void ldv_rtc_class_scenario_release_17_2(void (*)(struct device *), struct device *);
     220             : extern void ldv_rtc_class_scenario_release_18_2(void (*)(struct device *), struct device *);
     221             : extern void ldv_rtc_class_scenario_release_19_2(void (*)(struct device *), struct device *);
     222             : extern void ldv_rtc_class_scenario_release_20_2(void (*)(struct device *), struct device *);
     223             : extern void ldv_rtc_class_scenario_release_3_2(void (*)(struct device *), struct device *);
     224             : extern void ldv_rtc_class_scenario_release_4_2(void (*)(struct device *), struct device *);
     225             : extern void ldv_rtc_class_scenario_release_5_2(void (*)(struct device *), struct device *);
     226             : extern void ldv_rtc_class_scenario_release_6_2(void (*)(struct device *), struct device *);
     227             : extern void ldv_rtc_class_scenario_release_7_2(void (*)(struct device *), struct device *);
     228             : extern void ldv_rtc_class_scenario_release_8_2(void (*)(struct device *), struct device *);
     229             : extern void ldv_rtc_class_scenario_release_9_2(void (*)(struct device *), struct device *);
     230             : 
     231             : /* EMG variable declarations */
     232           1 : struct ldv_thread ldv_thread_10;
     233           1 : struct ldv_thread ldv_thread_11;
     234           1 : struct ldv_thread ldv_thread_12;
     235           1 : struct ldv_thread ldv_thread_13;
     236           1 : struct ldv_thread ldv_thread_14;
     237           1 : struct ldv_thread ldv_thread_15;
     238           1 : struct ldv_thread ldv_thread_16;
     239           1 : struct ldv_thread ldv_thread_17;
     240           1 : struct ldv_thread ldv_thread_18;
     241           1 : struct ldv_thread ldv_thread_19;
     242           1 : struct ldv_thread ldv_thread_20;
     243           1 : struct ldv_thread ldv_thread_3;
     244           1 : struct ldv_thread ldv_thread_4;
     245           1 : struct ldv_thread ldv_thread_5;
     246           1 : struct ldv_thread ldv_thread_6;
     247           1 : struct ldv_thread ldv_thread_7;
     248           1 : struct ldv_thread ldv_thread_8;
     249           1 : struct ldv_thread ldv_thread_9;
     250             : 
     251             : /* EMG variable initialization */
     252             : 
     253             : /* EMG function definitions */
     254             : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_22_8 */
     255             : void ldv_random_containerless_scenario_callback_22_8(void (*arg0)(struct mmc_host *), struct mmc_host *arg1) {
     256           3 :  ((& mmc_sd_detect))(arg1);
     257           1 : }
     258             : 
     259             : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_22_9 */
     260             : void ldv_random_containerless_scenario_callback_22_9(void (*arg0)(struct mmc_host *), struct mmc_host *arg1) {
     261           2 :  ((& mmc_sd_power_restore))(arg1);
     262           1 : }
     263             : 
     264             : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_23_10 */
     265             : void ldv_random_containerless_scenario_callback_23_10(void (*arg0)(struct mmc_host *), struct mmc_host *arg1) {
     266           2 :  ((& mmc_sd_remove))(arg1);
     267           1 : }
     268             : 
     269             : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_23_11 */
     270             : void ldv_random_containerless_scenario_callback_23_11(int (*arg0)(struct mmc_host *), struct mmc_host *arg1) {
     271           2 :  ((& mmc_sd_resume))(arg1);
     272           1 : }
     273             : 
     274             : /* AUX_FUNC_CALLBACK ldv_random_containerless_scenario_callback_23_9 */
     275             : void ldv_random_containerless_scenario_callback_23_9(void (*arg0)(struct mmc_host *), struct mmc_host *arg1) {
     276           2 :  ((& mmc_sd_power_restore))(arg1);
     277           1 : }
     278             : 
     279             : /* AUX_FUNC ldv_rtc_class_scenario_10 */
     280             : void ldv_rtc_class_scenario_10(void *arg0) {
     281             :  /* LDV {"thread": 10, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'rtc_class_scenario(rtc)'", "function": "ldv_rtc_class_scenario_10"} */
     282           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
     283           1 :  int (*ldv_10_callback_func_1_ptr)(struct device *);
     284           1 :  int (*ldv_10_callback_match)(struct device *, struct device_driver *);
     285           1 :  int (*ldv_10_callback_remove)(struct device *);
     286           1 :  int (*ldv_10_callback_resume)(struct device *);
     287           1 :  ssize_t (*ldv_10_callback_show)(struct device *, struct device_attribute *, char *);
     288           1 :  int (*ldv_10_callback_suspend)(struct device *, pm_message_t );
     289           1 :  int (*ldv_10_callback_uevent)(struct device *, struct kobj_uevent_env *);
     290           1 :  struct device *ldv_10_device_device;
     291           1 :  struct device_attribute *ldv_10_device_struct_device_attribute;
     292           1 :  struct device_driver *ldv_10_device_struct_device_driver_ptr;
     293           1 :  struct kobj_uevent_env *ldv_10_device_struct_kobj_uevent_env_ptr;
     294           1 :  struct pm_message ldv_10_device_struct_pm_message;
     295           1 :  char *ldv_10_ldv_param_18_2_default;
     296           1 :  int ldv_10_ret_default;
     297           1 :  struct rtc_class_ops *ldv_10_rtc_class_ops_rtc_class_ops;
     298           1 :  struct rtc_device *ldv_10_rtc_device_rtc_device;
     299           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
     300           1 :  /* Initialize automaton variables */
     301           2 :  ldv_10_ret_default = 1;
     302           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Begin RTC callbacks invocations scenario."} */
     303           3 :  ldv_free(arg0);
     304           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_END"} */
     305           1 : 
     306           1 :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
     307           4 :  ldv_10_rtc_device_rtc_device = ldv_xmalloc_unknown_size(0);
     308           3 :  ldv_10_rtc_class_ops_rtc_class_ops = ldv_xmalloc_unknown_size(0);
     309           3 :  ldv_10_device_device = ldv_xmalloc_unknown_size(0);
     310           3 :  ldv_10_device_struct_device_attribute = ldv_xmalloc_unknown_size(0);
     311           3 :  ldv_10_device_struct_device_driver_ptr = ldv_xmalloc_unknown_size(0);
     312           3 :  ldv_10_device_struct_kobj_uevent_env_ptr = ldv_xmalloc_unknown_size(0);
     313             :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_END"} */
     314             : 
     315             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
     316             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
     317             : 
     318             :  /* Jump to a subprocess 'main' initial state */
     319           1 :  goto ldv_main_10;
     320             :  /* End of the process */
     321             :  return;
     322           1 : 
     323             :  /* Sbprocess main */
     324             :  ldv_main_10:
     325             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
     326             : 
     327           4 :  if (ldv_undef_int()) {
     328             :   /* LDV {"action": "PROBE", "type": "CALL_BEGIN", "callback": true, "comment": "Probe a new RTC device. Invoke callback probe from RTC."} */
     329             :   /* Callback pre-call */
     330           1 :   ldv_pre_probe();
     331           3 :   if (ldv_10_rtc_class_ops_rtc_class_ops->open) {
     332             :   /* LDV {"type": "CALLBACK", "call": "ldv_10_ret_default = (ldv_10_rtc_class_ops_rtc_class_ops->open)(ldv_10_device_device);", "comment": "probe"} */
     333           2 :    ldv_10_ret_default = ldv_rtc_class_scenario_probe_10_11(ldv_10_rtc_class_ops_rtc_class_ops->open, ldv_10_device_device);
     334             :   }
     335             :   /* Callback post-call */
     336           4 :   ldv_10_ret_default = ldv_post_probe(ldv_10_ret_default);
     337             :   /* LDV {"action": "PROBE", "type": "CALL_END"} */
     338             : 
     339           4 :   if (ldv_undef_int()) {
     340             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_BEGIN", "comment": "The RTC device has been successfully probed."} */
     341           2 :    ldv_assume(ldv_10_ret_default == 0);
     342             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_END"} */
     343             : 
     344             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
     345             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
     346             : 
     347             :    /* Jump to a subprocess 'call' initial state */
     348           1 :    goto ldv_call_10;
     349             :   }
     350             :   else {
     351             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_BEGIN", "comment": "Failed to probe the RTC device."} */
     352           2 :    ldv_assume(ldv_10_ret_default != 0);
     353             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_END"} */
     354             : 
     355             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
     356             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
     357             : 
     358             :    /* Jump to a subprocess 'main' initial state */
     359           1 :    goto ldv_main_10;
     360             :   }
     361             :  }
     362             :  else {
     363             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
     364           2 :   ldv_free(ldv_10_rtc_device_rtc_device);
     365             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_END"} */
     366             : 
     367             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Finish RTC callbacks invocations scenario."} */
     368             :   /* Skip a non-replicative signal receiving */
     369             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_END"} */
     370             : 
     371             :   /* Exit function at a terminal state */
     372           1 :   return;
     373             :  }
     374             :  /* End of the subprocess 'main' */
     375             :  return;
     376           1 : 
     377             :  /* Sbprocess call */
     378             :  ldv_call_10:
     379             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
     380             : 
     381           2 :  switch (ldv_undef_int()) {
     382           3 :   case 1: {
     383             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback uevent from bus_type."} */
     384             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_uevent))(ldv_10_device_device, ldv_10_device_struct_kobj_uevent_env_ptr);", "comment": "callback"} */
     385           2 :    ldv_rtc_class_scenario_callback_10_22(ldv_10_callback_uevent, ldv_10_device_device, ldv_10_device_struct_kobj_uevent_env_ptr);
     386             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     387             : 
     388             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
     389             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
     390             : 
     391             :    /* Jump to a subprocess 'call' initial state */
     392           1 :    goto ldv_call_10;
     393           1 :    break;
     394             :   }
     395           3 :   case 2: {
     396             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback suspend from bus_type."} */
     397             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_suspend))(ldv_10_device_device, ldv_10_device_struct_pm_message);", "comment": "callback"} */
     398           2 :    ldv_rtc_class_scenario_callback_10_21(ldv_10_callback_suspend, ldv_10_device_device, ldv_10_device_struct_pm_message);
     399             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     400             : 
     401             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
     402             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
     403             : 
     404             :    /* Jump to a subprocess 'call' initial state */
     405           1 :    goto ldv_call_10;
     406             :    /* Jump to a subprocess 'call' initial state */
     407             :    goto ldv_call_10;
     408           1 :    break;
     409             :   }
     410           3 :   case 3: {
     411             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
     412           3 :    ldv_10_ldv_param_18_2_default = ldv_xmalloc_unknown_size(0);
     413             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_END"} */
     414             : 
     415             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback show from device_attribute."} */
     416             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_oemid_show))(ldv_10_device_device, ldv_10_device_struct_device_attribute, ldv_10_ldv_param_18_2_default);", "comment": "callback"} */
     417           2 :    ldv_rtc_class_scenario_callback_10_18(ldv_10_callback_show, ldv_10_device_device, ldv_10_device_struct_device_attribute, ldv_10_ldv_param_18_2_default);
     418             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     419             : 
     420             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
     421           2 :    ldv_free(ldv_10_ldv_param_18_2_default);
     422             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_END"} */
     423             : 
     424             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
     425             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
     426             : 
     427             :    /* Jump to a subprocess 'call' initial state */
     428           1 :    goto ldv_call_10;
     429             :    /* Jump to a subprocess 'call' initial state */
     430             :    goto ldv_call_10;
     431             :    /* Jump to a subprocess 'call' initial state */
     432             :    goto ldv_call_10;
     433           1 :    break;
     434             :   }
     435           3 :   case 4: {
     436             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback resume from bus_type."} */
     437             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_resume))(ldv_10_device_device);", "comment": "callback"} */
     438           2 :    ldv_rtc_class_scenario_callback_10_17(ldv_10_callback_resume, ldv_10_device_device);
     439             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     440             : 
     441             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
     442             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
     443             : 
     444             :    /* Jump to a subprocess 'call' initial state */
     445           1 :    goto ldv_call_10;
     446             :    /* Jump to a subprocess 'call' initial state */
     447             :    goto ldv_call_10;
     448             :    /* Jump to a subprocess 'call' initial state */
     449             :    goto ldv_call_10;
     450             :    /* Jump to a subprocess 'call' initial state */
     451             :    goto ldv_call_10;
     452           1 :    break;
     453             :   }
     454           3 :   case 5: {
     455             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback remove from bus_type."} */
     456             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_remove))(ldv_10_device_device);", "comment": "callback"} */
     457           2 :    ldv_rtc_class_scenario_callback_10_16(ldv_10_callback_remove, ldv_10_device_device);
     458             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     459             : 
     460             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
     461             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
     462             : 
     463             :    /* Jump to a subprocess 'call' initial state */
     464           1 :    goto ldv_call_10;
     465             :    /* Jump to a subprocess 'call' initial state */
     466             :    goto ldv_call_10;
     467             :    /* Jump to a subprocess 'call' initial state */
     468             :    goto ldv_call_10;
     469             :    /* Jump to a subprocess 'call' initial state */
     470             :    goto ldv_call_10;
     471             :    /* Jump to a subprocess 'call' initial state */
     472             :    goto ldv_call_10;
     473           1 :    break;
     474             :   }
     475           3 :   case 6: {
     476             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback match from bus_type."} */
     477             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_match))(ldv_10_device_device, ldv_10_device_struct_device_driver_ptr);", "comment": "callback"} */
     478           2 :    ldv_rtc_class_scenario_callback_10_15(ldv_10_callback_match, ldv_10_device_device, ldv_10_device_struct_device_driver_ptr);
     479             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     480             : 
     481             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
     482             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
     483             : 
     484             :    /* Jump to a subprocess 'call' initial state */
     485           1 :    goto ldv_call_10;
     486             :    /* Jump to a subprocess 'call' initial state */
     487             :    goto ldv_call_10;
     488             :    /* Jump to a subprocess 'call' initial state */
     489             :    goto ldv_call_10;
     490             :    /* Jump to a subprocess 'call' initial state */
     491             :    goto ldv_call_10;
     492             :    /* Jump to a subprocess 'call' initial state */
     493             :    goto ldv_call_10;
     494             :    /* Jump to a subprocess 'call' initial state */
     495             :    goto ldv_call_10;
     496           1 :    break;
     497             :   }
     498           3 :   case 7: {
     499             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback probe from bus_type."} */
     500             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_probe))(ldv_10_device_device);", "comment": "callback"} */
     501           2 :    ldv_rtc_class_scenario_callback_10_4(ldv_10_callback_func_1_ptr, ldv_10_device_device);
     502             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     503             : 
     504             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
     505             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
     506             : 
     507             :    /* Jump to a subprocess 'call' initial state */
     508           1 :    goto ldv_call_10;
     509             :    /* Jump to a subprocess 'call' initial state */
     510             :    goto ldv_call_10;
     511             :    /* Jump to a subprocess 'call' initial state */
     512             :    goto ldv_call_10;
     513             :    /* Jump to a subprocess 'call' initial state */
     514             :    goto ldv_call_10;
     515             :    /* Jump to a subprocess 'call' initial state */
     516             :    goto ldv_call_10;
     517             :    /* Jump to a subprocess 'call' initial state */
     518             :    goto ldv_call_10;
     519             :    /* Jump to a subprocess 'call' initial state */
     520             :    goto ldv_call_10;
     521           1 :    break;
     522             :   }
     523           3 :   case 8: {
     524             :    /* LDV {"action": "RELEASE", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback release from RTC."} */
     525           3 :    if (ldv_10_rtc_class_ops_rtc_class_ops->release) {
     526             :    /* LDV {"type": "CALLBACK", "call": "(ldv_10_rtc_class_ops_rtc_class_ops->release)(ldv_10_device_device);", "comment": "release"} */
     527           2 :     ldv_rtc_class_scenario_release_10_2(ldv_10_rtc_class_ops_rtc_class_ops->release, ldv_10_device_device);
     528             :    }
     529             :    /* LDV {"action": "RELEASE", "type": "CALL_END"} */
     530             : 
     531             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
     532             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
     533             : 
     534             :    /* Jump to a subprocess 'main' initial state */
     535           2 :    goto ldv_main_10;
     536           1 :    break;
     537             :   }
     538           2 :   default: ldv_stop();
     539           1 :  }
     540           0 :  /* End of the subprocess 'call' */
     541           0 :  return;
     542             :  /* LDV {"comment": "End of control function based on process 'rtc_class_scenario(rtc)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_rtc_class_scenario_10"} */
     543             : }
     544             : 
     545             : /* AUX_FUNC ldv_rtc_class_scenario_11 */
     546             : void ldv_rtc_class_scenario_11(void *arg0) {
     547             :  /* LDV {"thread": 11, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'rtc_class_scenario(rtc)'", "function": "ldv_rtc_class_scenario_11"} */
     548           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
     549           1 :  int (*ldv_11_callback_func_1_ptr)(struct device *);
     550           1 :  int (*ldv_11_callback_match)(struct device *, struct device_driver *);
     551           1 :  int (*ldv_11_callback_remove)(struct device *);
     552           1 :  int (*ldv_11_callback_resume)(struct device *);
     553           1 :  ssize_t (*ldv_11_callback_show)(struct device *, struct device_attribute *, char *);
     554           1 :  int (*ldv_11_callback_suspend)(struct device *, pm_message_t );
     555           1 :  int (*ldv_11_callback_uevent)(struct device *, struct kobj_uevent_env *);
     556           1 :  struct device *ldv_11_device_device;
     557           1 :  struct device_attribute *ldv_11_device_struct_device_attribute;
     558           1 :  struct device_driver *ldv_11_device_struct_device_driver_ptr;
     559           1 :  struct kobj_uevent_env *ldv_11_device_struct_kobj_uevent_env_ptr;
     560           1 :  struct pm_message ldv_11_device_struct_pm_message;
     561           1 :  char *ldv_11_ldv_param_18_2_default;
     562           1 :  int ldv_11_ret_default;
     563           1 :  struct rtc_class_ops *ldv_11_rtc_class_ops_rtc_class_ops;
     564           1 :  struct rtc_device *ldv_11_rtc_device_rtc_device;
     565           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
     566           1 :  /* Initialize automaton variables */
     567           2 :  ldv_11_ret_default = 1;
     568           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Begin RTC callbacks invocations scenario."} */
     569           3 :  ldv_free(arg0);
     570           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_END"} */
     571           1 : 
     572           1 :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
     573           4 :  ldv_11_rtc_device_rtc_device = ldv_xmalloc_unknown_size(0);
     574           3 :  ldv_11_rtc_class_ops_rtc_class_ops = ldv_xmalloc_unknown_size(0);
     575           3 :  ldv_11_device_device = ldv_xmalloc_unknown_size(0);
     576           3 :  ldv_11_device_struct_device_attribute = ldv_xmalloc_unknown_size(0);
     577           3 :  ldv_11_device_struct_device_driver_ptr = ldv_xmalloc_unknown_size(0);
     578           3 :  ldv_11_device_struct_kobj_uevent_env_ptr = ldv_xmalloc_unknown_size(0);
     579             :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_END"} */
     580             : 
     581             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
     582             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
     583             : 
     584             :  /* Jump to a subprocess 'main' initial state */
     585           1 :  goto ldv_main_11;
     586             :  /* End of the process */
     587             :  return;
     588           1 : 
     589             :  /* Sbprocess main */
     590             :  ldv_main_11:
     591             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
     592             : 
     593           4 :  if (ldv_undef_int()) {
     594             :   /* LDV {"action": "PROBE", "type": "CALL_BEGIN", "callback": true, "comment": "Probe a new RTC device. Invoke callback probe from RTC."} */
     595             :   /* Callback pre-call */
     596           1 :   ldv_pre_probe();
     597           3 :   if (ldv_11_rtc_class_ops_rtc_class_ops->open) {
     598             :   /* LDV {"type": "CALLBACK", "call": "ldv_11_ret_default = (ldv_11_rtc_class_ops_rtc_class_ops->open)(ldv_11_device_device);", "comment": "probe"} */
     599           2 :    ldv_11_ret_default = ldv_rtc_class_scenario_probe_11_11(ldv_11_rtc_class_ops_rtc_class_ops->open, ldv_11_device_device);
     600             :   }
     601             :   /* Callback post-call */
     602           4 :   ldv_11_ret_default = ldv_post_probe(ldv_11_ret_default);
     603             :   /* LDV {"action": "PROBE", "type": "CALL_END"} */
     604             : 
     605           4 :   if (ldv_undef_int()) {
     606             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_BEGIN", "comment": "The RTC device has been successfully probed."} */
     607           2 :    ldv_assume(ldv_11_ret_default == 0);
     608             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_END"} */
     609             : 
     610             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
     611             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
     612             : 
     613             :    /* Jump to a subprocess 'call' initial state */
     614           1 :    goto ldv_call_11;
     615             :   }
     616             :   else {
     617             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_BEGIN", "comment": "Failed to probe the RTC device."} */
     618           2 :    ldv_assume(ldv_11_ret_default != 0);
     619             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_END"} */
     620             : 
     621             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
     622             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
     623             : 
     624             :    /* Jump to a subprocess 'main' initial state */
     625           1 :    goto ldv_main_11;
     626             :   }
     627             :  }
     628             :  else {
     629             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
     630           2 :   ldv_free(ldv_11_rtc_device_rtc_device);
     631             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_END"} */
     632             : 
     633             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Finish RTC callbacks invocations scenario."} */
     634             :   /* Skip a non-replicative signal receiving */
     635             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_END"} */
     636             : 
     637             :   /* Exit function at a terminal state */
     638           1 :   return;
     639             :  }
     640             :  /* End of the subprocess 'main' */
     641             :  return;
     642           1 : 
     643             :  /* Sbprocess call */
     644             :  ldv_call_11:
     645             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
     646             : 
     647           2 :  switch (ldv_undef_int()) {
     648           3 :   case 1: {
     649             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback uevent from bus_type."} */
     650             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_uevent))(ldv_11_device_device, ldv_11_device_struct_kobj_uevent_env_ptr);", "comment": "callback"} */
     651           2 :    ldv_rtc_class_scenario_callback_11_22(ldv_11_callback_uevent, ldv_11_device_device, ldv_11_device_struct_kobj_uevent_env_ptr);
     652             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     653             : 
     654             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
     655             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
     656             : 
     657             :    /* Jump to a subprocess 'call' initial state */
     658           1 :    goto ldv_call_11;
     659           1 :    break;
     660             :   }
     661           3 :   case 2: {
     662             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback suspend from bus_type."} */
     663             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_suspend))(ldv_11_device_device, ldv_11_device_struct_pm_message);", "comment": "callback"} */
     664           2 :    ldv_rtc_class_scenario_callback_11_21(ldv_11_callback_suspend, ldv_11_device_device, ldv_11_device_struct_pm_message);
     665             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     666             : 
     667             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
     668             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
     669             : 
     670             :    /* Jump to a subprocess 'call' initial state */
     671           1 :    goto ldv_call_11;
     672             :    /* Jump to a subprocess 'call' initial state */
     673             :    goto ldv_call_11;
     674           1 :    break;
     675             :   }
     676           3 :   case 3: {
     677             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
     678           3 :    ldv_11_ldv_param_18_2_default = ldv_xmalloc_unknown_size(0);
     679             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_END"} */
     680             : 
     681             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback show from device_attribute."} */
     682             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_scr_show))(ldv_11_device_device, ldv_11_device_struct_device_attribute, ldv_11_ldv_param_18_2_default);", "comment": "callback"} */
     683           2 :    ldv_rtc_class_scenario_callback_11_18(ldv_11_callback_show, ldv_11_device_device, ldv_11_device_struct_device_attribute, ldv_11_ldv_param_18_2_default);
     684             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     685             : 
     686             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
     687           2 :    ldv_free(ldv_11_ldv_param_18_2_default);
     688             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_END"} */
     689             : 
     690             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
     691             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
     692             : 
     693             :    /* Jump to a subprocess 'call' initial state */
     694           1 :    goto ldv_call_11;
     695             :    /* Jump to a subprocess 'call' initial state */
     696             :    goto ldv_call_11;
     697             :    /* Jump to a subprocess 'call' initial state */
     698             :    goto ldv_call_11;
     699           1 :    break;
     700             :   }
     701           3 :   case 4: {
     702             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback resume from bus_type."} */
     703             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_resume))(ldv_11_device_device);", "comment": "callback"} */
     704           2 :    ldv_rtc_class_scenario_callback_11_17(ldv_11_callback_resume, ldv_11_device_device);
     705             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     706             : 
     707             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
     708             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
     709             : 
     710             :    /* Jump to a subprocess 'call' initial state */
     711           1 :    goto ldv_call_11;
     712             :    /* Jump to a subprocess 'call' initial state */
     713             :    goto ldv_call_11;
     714             :    /* Jump to a subprocess 'call' initial state */
     715             :    goto ldv_call_11;
     716             :    /* Jump to a subprocess 'call' initial state */
     717             :    goto ldv_call_11;
     718           1 :    break;
     719             :   }
     720           3 :   case 5: {
     721             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback remove from bus_type."} */
     722             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_remove))(ldv_11_device_device);", "comment": "callback"} */
     723           2 :    ldv_rtc_class_scenario_callback_11_16(ldv_11_callback_remove, ldv_11_device_device);
     724             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     725             : 
     726             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
     727             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
     728             : 
     729             :    /* Jump to a subprocess 'call' initial state */
     730           1 :    goto ldv_call_11;
     731             :    /* Jump to a subprocess 'call' initial state */
     732             :    goto ldv_call_11;
     733             :    /* Jump to a subprocess 'call' initial state */
     734             :    goto ldv_call_11;
     735             :    /* Jump to a subprocess 'call' initial state */
     736             :    goto ldv_call_11;
     737             :    /* Jump to a subprocess 'call' initial state */
     738             :    goto ldv_call_11;
     739           1 :    break;
     740             :   }
     741           3 :   case 6: {
     742             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback match from bus_type."} */
     743             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_match))(ldv_11_device_device, ldv_11_device_struct_device_driver_ptr);", "comment": "callback"} */
     744           2 :    ldv_rtc_class_scenario_callback_11_15(ldv_11_callback_match, ldv_11_device_device, ldv_11_device_struct_device_driver_ptr);
     745             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     746             : 
     747             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
     748             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
     749             : 
     750             :    /* Jump to a subprocess 'call' initial state */
     751           1 :    goto ldv_call_11;
     752             :    /* Jump to a subprocess 'call' initial state */
     753             :    goto ldv_call_11;
     754             :    /* Jump to a subprocess 'call' initial state */
     755             :    goto ldv_call_11;
     756             :    /* Jump to a subprocess 'call' initial state */
     757             :    goto ldv_call_11;
     758             :    /* Jump to a subprocess 'call' initial state */
     759             :    goto ldv_call_11;
     760             :    /* Jump to a subprocess 'call' initial state */
     761             :    goto ldv_call_11;
     762           1 :    break;
     763             :   }
     764           3 :   case 7: {
     765             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback probe from bus_type."} */
     766             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_probe))(ldv_11_device_device);", "comment": "callback"} */
     767           2 :    ldv_rtc_class_scenario_callback_11_4(ldv_11_callback_func_1_ptr, ldv_11_device_device);
     768             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     769             : 
     770             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
     771             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
     772             : 
     773             :    /* Jump to a subprocess 'call' initial state */
     774           1 :    goto ldv_call_11;
     775             :    /* Jump to a subprocess 'call' initial state */
     776             :    goto ldv_call_11;
     777             :    /* Jump to a subprocess 'call' initial state */
     778             :    goto ldv_call_11;
     779             :    /* Jump to a subprocess 'call' initial state */
     780             :    goto ldv_call_11;
     781             :    /* Jump to a subprocess 'call' initial state */
     782             :    goto ldv_call_11;
     783             :    /* Jump to a subprocess 'call' initial state */
     784             :    goto ldv_call_11;
     785             :    /* Jump to a subprocess 'call' initial state */
     786             :    goto ldv_call_11;
     787           1 :    break;
     788             :   }
     789           3 :   case 8: {
     790             :    /* LDV {"action": "RELEASE", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback release from RTC."} */
     791           3 :    if (ldv_11_rtc_class_ops_rtc_class_ops->release) {
     792             :    /* LDV {"type": "CALLBACK", "call": "(ldv_11_rtc_class_ops_rtc_class_ops->release)(ldv_11_device_device);", "comment": "release"} */
     793           2 :     ldv_rtc_class_scenario_release_11_2(ldv_11_rtc_class_ops_rtc_class_ops->release, ldv_11_device_device);
     794             :    }
     795             :    /* LDV {"action": "RELEASE", "type": "CALL_END"} */
     796             : 
     797             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
     798             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
     799             : 
     800             :    /* Jump to a subprocess 'main' initial state */
     801           2 :    goto ldv_main_11;
     802           1 :    break;
     803             :   }
     804           2 :   default: ldv_stop();
     805           1 :  }
     806           0 :  /* End of the subprocess 'call' */
     807           0 :  return;
     808             :  /* LDV {"comment": "End of control function based on process 'rtc_class_scenario(rtc)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_rtc_class_scenario_11"} */
     809             : }
     810             : 
     811             : /* AUX_FUNC ldv_rtc_class_scenario_12 */
     812             : void ldv_rtc_class_scenario_12(void *arg0) {
     813             :  /* LDV {"thread": 12, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'rtc_class_scenario(rtc)'", "function": "ldv_rtc_class_scenario_12"} */
     814           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
     815           1 :  int (*ldv_12_callback_func_1_ptr)(struct device *);
     816           1 :  int (*ldv_12_callback_match)(struct device *, struct device_driver *);
     817           1 :  int (*ldv_12_callback_remove)(struct device *);
     818           1 :  int (*ldv_12_callback_resume)(struct device *);
     819           1 :  ssize_t (*ldv_12_callback_show)(struct device *, struct device_attribute *, char *);
     820           1 :  int (*ldv_12_callback_suspend)(struct device *, pm_message_t );
     821           1 :  int (*ldv_12_callback_uevent)(struct device *, struct kobj_uevent_env *);
     822           1 :  struct device *ldv_12_device_device;
     823           1 :  struct device_attribute *ldv_12_device_struct_device_attribute;
     824           1 :  struct device_driver *ldv_12_device_struct_device_driver_ptr;
     825           1 :  struct kobj_uevent_env *ldv_12_device_struct_kobj_uevent_env_ptr;
     826           1 :  struct pm_message ldv_12_device_struct_pm_message;
     827           1 :  char *ldv_12_ldv_param_18_2_default;
     828           1 :  int ldv_12_ret_default;
     829           1 :  struct rtc_class_ops *ldv_12_rtc_class_ops_rtc_class_ops;
     830           1 :  struct rtc_device *ldv_12_rtc_device_rtc_device;
     831           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
     832           1 :  /* Initialize automaton variables */
     833           2 :  ldv_12_ret_default = 1;
     834           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Begin RTC callbacks invocations scenario."} */
     835           3 :  ldv_free(arg0);
     836           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_END"} */
     837           1 : 
     838           1 :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
     839           4 :  ldv_12_rtc_device_rtc_device = ldv_xmalloc_unknown_size(0);
     840           3 :  ldv_12_rtc_class_ops_rtc_class_ops = ldv_xmalloc_unknown_size(0);
     841           3 :  ldv_12_device_device = ldv_xmalloc_unknown_size(0);
     842           3 :  ldv_12_device_struct_device_attribute = ldv_xmalloc_unknown_size(0);
     843           3 :  ldv_12_device_struct_device_driver_ptr = ldv_xmalloc_unknown_size(0);
     844           3 :  ldv_12_device_struct_kobj_uevent_env_ptr = ldv_xmalloc_unknown_size(0);
     845             :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_END"} */
     846             : 
     847             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
     848             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
     849             : 
     850             :  /* Jump to a subprocess 'main' initial state */
     851           1 :  goto ldv_main_12;
     852             :  /* End of the process */
     853             :  return;
     854           1 : 
     855             :  /* Sbprocess main */
     856             :  ldv_main_12:
     857             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
     858             : 
     859           4 :  if (ldv_undef_int()) {
     860             :   /* LDV {"action": "PROBE", "type": "CALL_BEGIN", "callback": true, "comment": "Probe a new RTC device. Invoke callback probe from RTC."} */
     861             :   /* Callback pre-call */
     862           1 :   ldv_pre_probe();
     863           3 :   if (ldv_12_rtc_class_ops_rtc_class_ops->open) {
     864             :   /* LDV {"type": "CALLBACK", "call": "ldv_12_ret_default = (ldv_12_rtc_class_ops_rtc_class_ops->open)(ldv_12_device_device);", "comment": "probe"} */
     865           2 :    ldv_12_ret_default = ldv_rtc_class_scenario_probe_12_11(ldv_12_rtc_class_ops_rtc_class_ops->open, ldv_12_device_device);
     866             :   }
     867             :   /* Callback post-call */
     868           4 :   ldv_12_ret_default = ldv_post_probe(ldv_12_ret_default);
     869             :   /* LDV {"action": "PROBE", "type": "CALL_END"} */
     870             : 
     871           4 :   if (ldv_undef_int()) {
     872             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_BEGIN", "comment": "The RTC device has been successfully probed."} */
     873           2 :    ldv_assume(ldv_12_ret_default == 0);
     874             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_END"} */
     875             : 
     876             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
     877             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
     878             : 
     879             :    /* Jump to a subprocess 'call' initial state */
     880           1 :    goto ldv_call_12;
     881             :   }
     882             :   else {
     883             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_BEGIN", "comment": "Failed to probe the RTC device."} */
     884           2 :    ldv_assume(ldv_12_ret_default != 0);
     885             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_END"} */
     886             : 
     887             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
     888             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
     889             : 
     890             :    /* Jump to a subprocess 'main' initial state */
     891           1 :    goto ldv_main_12;
     892             :   }
     893             :  }
     894             :  else {
     895             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
     896           2 :   ldv_free(ldv_12_rtc_device_rtc_device);
     897             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_END"} */
     898             : 
     899             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Finish RTC callbacks invocations scenario."} */
     900             :   /* Skip a non-replicative signal receiving */
     901             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_END"} */
     902             : 
     903             :   /* Exit function at a terminal state */
     904           1 :   return;
     905             :  }
     906             :  /* End of the subprocess 'main' */
     907             :  return;
     908           1 : 
     909             :  /* Sbprocess call */
     910             :  ldv_call_12:
     911             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
     912             : 
     913           2 :  switch (ldv_undef_int()) {
     914           3 :   case 1: {
     915             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback uevent from bus_type."} */
     916             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_uevent))(ldv_12_device_device, ldv_12_device_struct_kobj_uevent_env_ptr);", "comment": "callback"} */
     917           2 :    ldv_rtc_class_scenario_callback_12_22(ldv_12_callback_uevent, ldv_12_device_device, ldv_12_device_struct_kobj_uevent_env_ptr);
     918             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     919             : 
     920             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
     921             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
     922             : 
     923             :    /* Jump to a subprocess 'call' initial state */
     924           1 :    goto ldv_call_12;
     925           1 :    break;
     926             :   }
     927           3 :   case 2: {
     928             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback suspend from bus_type."} */
     929             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_suspend))(ldv_12_device_device, ldv_12_device_struct_pm_message);", "comment": "callback"} */
     930           2 :    ldv_rtc_class_scenario_callback_12_21(ldv_12_callback_suspend, ldv_12_device_device, ldv_12_device_struct_pm_message);
     931             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     932             : 
     933             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
     934             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
     935             : 
     936             :    /* Jump to a subprocess 'call' initial state */
     937           1 :    goto ldv_call_12;
     938             :    /* Jump to a subprocess 'call' initial state */
     939             :    goto ldv_call_12;
     940           1 :    break;
     941             :   }
     942           3 :   case 3: {
     943             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
     944           3 :    ldv_12_ldv_param_18_2_default = ldv_xmalloc_unknown_size(0);
     945             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_END"} */
     946             : 
     947             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback show from device_attribute."} */
     948             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_serial_show))(ldv_12_device_device, ldv_12_device_struct_device_attribute, ldv_12_ldv_param_18_2_default);", "comment": "callback"} */
     949           2 :    ldv_rtc_class_scenario_callback_12_18(ldv_12_callback_show, ldv_12_device_device, ldv_12_device_struct_device_attribute, ldv_12_ldv_param_18_2_default);
     950             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     951             : 
     952             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
     953           2 :    ldv_free(ldv_12_ldv_param_18_2_default);
     954             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_END"} */
     955             : 
     956             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
     957             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
     958             : 
     959             :    /* Jump to a subprocess 'call' initial state */
     960           1 :    goto ldv_call_12;
     961             :    /* Jump to a subprocess 'call' initial state */
     962             :    goto ldv_call_12;
     963             :    /* Jump to a subprocess 'call' initial state */
     964             :    goto ldv_call_12;
     965           1 :    break;
     966             :   }
     967           3 :   case 4: {
     968             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback resume from bus_type."} */
     969             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_resume))(ldv_12_device_device);", "comment": "callback"} */
     970           2 :    ldv_rtc_class_scenario_callback_12_17(ldv_12_callback_resume, ldv_12_device_device);
     971             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     972             : 
     973             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
     974             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
     975             : 
     976             :    /* Jump to a subprocess 'call' initial state */
     977           1 :    goto ldv_call_12;
     978             :    /* Jump to a subprocess 'call' initial state */
     979             :    goto ldv_call_12;
     980             :    /* Jump to a subprocess 'call' initial state */
     981             :    goto ldv_call_12;
     982             :    /* Jump to a subprocess 'call' initial state */
     983             :    goto ldv_call_12;
     984           1 :    break;
     985             :   }
     986           3 :   case 5: {
     987             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback remove from bus_type."} */
     988             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_remove))(ldv_12_device_device);", "comment": "callback"} */
     989           2 :    ldv_rtc_class_scenario_callback_12_16(ldv_12_callback_remove, ldv_12_device_device);
     990             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
     991             : 
     992             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
     993             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
     994             : 
     995             :    /* Jump to a subprocess 'call' initial state */
     996           1 :    goto ldv_call_12;
     997             :    /* Jump to a subprocess 'call' initial state */
     998             :    goto ldv_call_12;
     999             :    /* Jump to a subprocess 'call' initial state */
    1000             :    goto ldv_call_12;
    1001             :    /* Jump to a subprocess 'call' initial state */
    1002             :    goto ldv_call_12;
    1003             :    /* Jump to a subprocess 'call' initial state */
    1004             :    goto ldv_call_12;
    1005           1 :    break;
    1006             :   }
    1007           3 :   case 6: {
    1008             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback match from bus_type."} */
    1009             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_match))(ldv_12_device_device, ldv_12_device_struct_device_driver_ptr);", "comment": "callback"} */
    1010           2 :    ldv_rtc_class_scenario_callback_12_15(ldv_12_callback_match, ldv_12_device_device, ldv_12_device_struct_device_driver_ptr);
    1011             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1012             : 
    1013             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    1014             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1015             : 
    1016             :    /* Jump to a subprocess 'call' initial state */
    1017           1 :    goto ldv_call_12;
    1018             :    /* Jump to a subprocess 'call' initial state */
    1019             :    goto ldv_call_12;
    1020             :    /* Jump to a subprocess 'call' initial state */
    1021             :    goto ldv_call_12;
    1022             :    /* Jump to a subprocess 'call' initial state */
    1023             :    goto ldv_call_12;
    1024             :    /* Jump to a subprocess 'call' initial state */
    1025             :    goto ldv_call_12;
    1026             :    /* Jump to a subprocess 'call' initial state */
    1027             :    goto ldv_call_12;
    1028           1 :    break;
    1029             :   }
    1030           3 :   case 7: {
    1031             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback probe from bus_type."} */
    1032             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_probe))(ldv_12_device_device);", "comment": "callback"} */
    1033           2 :    ldv_rtc_class_scenario_callback_12_4(ldv_12_callback_func_1_ptr, ldv_12_device_device);
    1034             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1035             : 
    1036             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    1037             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1038             : 
    1039             :    /* Jump to a subprocess 'call' initial state */
    1040           1 :    goto ldv_call_12;
    1041             :    /* Jump to a subprocess 'call' initial state */
    1042             :    goto ldv_call_12;
    1043             :    /* Jump to a subprocess 'call' initial state */
    1044             :    goto ldv_call_12;
    1045             :    /* Jump to a subprocess 'call' initial state */
    1046             :    goto ldv_call_12;
    1047             :    /* Jump to a subprocess 'call' initial state */
    1048             :    goto ldv_call_12;
    1049             :    /* Jump to a subprocess 'call' initial state */
    1050             :    goto ldv_call_12;
    1051             :    /* Jump to a subprocess 'call' initial state */
    1052             :    goto ldv_call_12;
    1053           1 :    break;
    1054             :   }
    1055           3 :   case 8: {
    1056             :    /* LDV {"action": "RELEASE", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback release from RTC."} */
    1057           3 :    if (ldv_12_rtc_class_ops_rtc_class_ops->release) {
    1058             :    /* LDV {"type": "CALLBACK", "call": "(ldv_12_rtc_class_ops_rtc_class_ops->release)(ldv_12_device_device);", "comment": "release"} */
    1059           2 :     ldv_rtc_class_scenario_release_12_2(ldv_12_rtc_class_ops_rtc_class_ops->release, ldv_12_device_device);
    1060             :    }
    1061             :    /* LDV {"action": "RELEASE", "type": "CALL_END"} */
    1062             : 
    1063             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    1064             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    1065             : 
    1066             :    /* Jump to a subprocess 'main' initial state */
    1067           2 :    goto ldv_main_12;
    1068           1 :    break;
    1069             :   }
    1070           2 :   default: ldv_stop();
    1071           1 :  }
    1072           0 :  /* End of the subprocess 'call' */
    1073           0 :  return;
    1074             :  /* LDV {"comment": "End of control function based on process 'rtc_class_scenario(rtc)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_rtc_class_scenario_12"} */
    1075             : }
    1076             : 
    1077             : /* AUX_FUNC ldv_rtc_class_scenario_13 */
    1078             : void ldv_rtc_class_scenario_13(void *arg0) {
    1079             :  /* LDV {"thread": 13, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'rtc_class_scenario(rtc)'", "function": "ldv_rtc_class_scenario_13"} */
    1080           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    1081           1 :  int (*ldv_13_callback_func_1_ptr)(struct device *);
    1082           1 :  int (*ldv_13_callback_match)(struct device *, struct device_driver *);
    1083           1 :  int (*ldv_13_callback_remove)(struct device *);
    1084           1 :  int (*ldv_13_callback_resume)(struct device *);
    1085           1 :  ssize_t (*ldv_13_callback_show)(struct device *, struct device_attribute *, char *);
    1086           1 :  int (*ldv_13_callback_suspend)(struct device *, pm_message_t );
    1087           1 :  int (*ldv_13_callback_uevent)(struct device *, struct kobj_uevent_env *);
    1088           1 :  struct device *ldv_13_device_device;
    1089           1 :  struct device_attribute *ldv_13_device_struct_device_attribute;
    1090           1 :  struct device_driver *ldv_13_device_struct_device_driver_ptr;
    1091           1 :  struct kobj_uevent_env *ldv_13_device_struct_kobj_uevent_env_ptr;
    1092           1 :  struct pm_message ldv_13_device_struct_pm_message;
    1093           1 :  char *ldv_13_ldv_param_18_2_default;
    1094           1 :  int ldv_13_ret_default;
    1095           1 :  struct rtc_class_ops *ldv_13_rtc_class_ops_rtc_class_ops;
    1096           1 :  struct rtc_device *ldv_13_rtc_device_rtc_device;
    1097           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    1098           1 :  /* Initialize automaton variables */
    1099           2 :  ldv_13_ret_default = 1;
    1100           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Begin RTC callbacks invocations scenario."} */
    1101           3 :  ldv_free(arg0);
    1102           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_END"} */
    1103           1 : 
    1104           1 :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
    1105           4 :  ldv_13_rtc_device_rtc_device = ldv_xmalloc_unknown_size(0);
    1106           3 :  ldv_13_rtc_class_ops_rtc_class_ops = ldv_xmalloc_unknown_size(0);
    1107           3 :  ldv_13_device_device = ldv_xmalloc_unknown_size(0);
    1108           3 :  ldv_13_device_struct_device_attribute = ldv_xmalloc_unknown_size(0);
    1109           3 :  ldv_13_device_struct_device_driver_ptr = ldv_xmalloc_unknown_size(0);
    1110           3 :  ldv_13_device_struct_kobj_uevent_env_ptr = ldv_xmalloc_unknown_size(0);
    1111             :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_END"} */
    1112             : 
    1113             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    1114             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    1115             : 
    1116             :  /* Jump to a subprocess 'main' initial state */
    1117           1 :  goto ldv_main_13;
    1118             :  /* End of the process */
    1119             :  return;
    1120           1 : 
    1121             :  /* Sbprocess main */
    1122             :  ldv_main_13:
    1123             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    1124             : 
    1125           4 :  if (ldv_undef_int()) {
    1126             :   /* LDV {"action": "PROBE", "type": "CALL_BEGIN", "callback": true, "comment": "Probe a new RTC device. Invoke callback probe from RTC."} */
    1127             :   /* Callback pre-call */
    1128           1 :   ldv_pre_probe();
    1129           3 :   if (ldv_13_rtc_class_ops_rtc_class_ops->open) {
    1130             :   /* LDV {"type": "CALLBACK", "call": "ldv_13_ret_default = (ldv_13_rtc_class_ops_rtc_class_ops->open)(ldv_13_device_device);", "comment": "probe"} */
    1131           2 :    ldv_13_ret_default = ldv_rtc_class_scenario_probe_13_11(ldv_13_rtc_class_ops_rtc_class_ops->open, ldv_13_device_device);
    1132             :   }
    1133             :   /* Callback post-call */
    1134           4 :   ldv_13_ret_default = ldv_post_probe(ldv_13_ret_default);
    1135             :   /* LDV {"action": "PROBE", "type": "CALL_END"} */
    1136             : 
    1137           4 :   if (ldv_undef_int()) {
    1138             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_BEGIN", "comment": "The RTC device has been successfully probed."} */
    1139           2 :    ldv_assume(ldv_13_ret_default == 0);
    1140             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_END"} */
    1141             : 
    1142             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    1143             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1144             : 
    1145             :    /* Jump to a subprocess 'call' initial state */
    1146           1 :    goto ldv_call_13;
    1147             :   }
    1148             :   else {
    1149             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_BEGIN", "comment": "Failed to probe the RTC device."} */
    1150           2 :    ldv_assume(ldv_13_ret_default != 0);
    1151             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_END"} */
    1152             : 
    1153             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    1154             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    1155             : 
    1156             :    /* Jump to a subprocess 'main' initial state */
    1157           1 :    goto ldv_main_13;
    1158             :   }
    1159             :  }
    1160             :  else {
    1161             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
    1162           2 :   ldv_free(ldv_13_rtc_device_rtc_device);
    1163             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_END"} */
    1164             : 
    1165             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Finish RTC callbacks invocations scenario."} */
    1166             :   /* Skip a non-replicative signal receiving */
    1167             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_END"} */
    1168             : 
    1169             :   /* Exit function at a terminal state */
    1170           1 :   return;
    1171             :  }
    1172             :  /* End of the subprocess 'main' */
    1173             :  return;
    1174           1 : 
    1175             :  /* Sbprocess call */
    1176             :  ldv_call_13:
    1177             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    1178             : 
    1179           2 :  switch (ldv_undef_int()) {
    1180           3 :   case 1: {
    1181             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback uevent from bus_type."} */
    1182             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_uevent))(ldv_13_device_device, ldv_13_device_struct_kobj_uevent_env_ptr);", "comment": "callback"} */
    1183           2 :    ldv_rtc_class_scenario_callback_13_22(ldv_13_callback_uevent, ldv_13_device_device, ldv_13_device_struct_kobj_uevent_env_ptr);
    1184             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1185             : 
    1186             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    1187             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1188             : 
    1189             :    /* Jump to a subprocess 'call' initial state */
    1190           1 :    goto ldv_call_13;
    1191           1 :    break;
    1192             :   }
    1193           3 :   case 2: {
    1194             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback suspend from bus_type."} */
    1195             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_suspend))(ldv_13_device_device, ldv_13_device_struct_pm_message);", "comment": "callback"} */
    1196           2 :    ldv_rtc_class_scenario_callback_13_21(ldv_13_callback_suspend, ldv_13_device_device, ldv_13_device_struct_pm_message);
    1197             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1198             : 
    1199             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    1200             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1201             : 
    1202             :    /* Jump to a subprocess 'call' initial state */
    1203           1 :    goto ldv_call_13;
    1204             :    /* Jump to a subprocess 'call' initial state */
    1205             :    goto ldv_call_13;
    1206           1 :    break;
    1207             :   }
    1208           3 :   case 3: {
    1209             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    1210           3 :    ldv_13_ldv_param_18_2_default = ldv_xmalloc_unknown_size(0);
    1211             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_END"} */
    1212             : 
    1213             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback show from device_attribute."} */
    1214             :    /* LDV {"type": "CALLBACK", "call": "((& vendor_show))(ldv_13_device_device, ldv_13_device_struct_device_attribute, ldv_13_ldv_param_18_2_default);", "comment": "callback"} */
    1215           2 :    ldv_rtc_class_scenario_callback_13_18(ldv_13_callback_show, ldv_13_device_device, ldv_13_device_struct_device_attribute, ldv_13_ldv_param_18_2_default);
    1216             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1217             : 
    1218             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    1219           2 :    ldv_free(ldv_13_ldv_param_18_2_default);
    1220             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_END"} */
    1221             : 
    1222             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    1223             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1224             : 
    1225             :    /* Jump to a subprocess 'call' initial state */
    1226           1 :    goto ldv_call_13;
    1227             :    /* Jump to a subprocess 'call' initial state */
    1228             :    goto ldv_call_13;
    1229             :    /* Jump to a subprocess 'call' initial state */
    1230             :    goto ldv_call_13;
    1231           1 :    break;
    1232             :   }
    1233           3 :   case 4: {
    1234             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback resume from bus_type."} */
    1235             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_resume))(ldv_13_device_device);", "comment": "callback"} */
    1236           2 :    ldv_rtc_class_scenario_callback_13_17(ldv_13_callback_resume, ldv_13_device_device);
    1237             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1238             : 
    1239             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    1240             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1241             : 
    1242             :    /* Jump to a subprocess 'call' initial state */
    1243           1 :    goto ldv_call_13;
    1244             :    /* Jump to a subprocess 'call' initial state */
    1245             :    goto ldv_call_13;
    1246             :    /* Jump to a subprocess 'call' initial state */
    1247             :    goto ldv_call_13;
    1248             :    /* Jump to a subprocess 'call' initial state */
    1249             :    goto ldv_call_13;
    1250           1 :    break;
    1251             :   }
    1252           3 :   case 5: {
    1253             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback remove from bus_type."} */
    1254             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_remove))(ldv_13_device_device);", "comment": "callback"} */
    1255           2 :    ldv_rtc_class_scenario_callback_13_16(ldv_13_callback_remove, ldv_13_device_device);
    1256             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1257             : 
    1258             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    1259             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1260             : 
    1261             :    /* Jump to a subprocess 'call' initial state */
    1262           1 :    goto ldv_call_13;
    1263             :    /* Jump to a subprocess 'call' initial state */
    1264             :    goto ldv_call_13;
    1265             :    /* Jump to a subprocess 'call' initial state */
    1266             :    goto ldv_call_13;
    1267             :    /* Jump to a subprocess 'call' initial state */
    1268             :    goto ldv_call_13;
    1269             :    /* Jump to a subprocess 'call' initial state */
    1270             :    goto ldv_call_13;
    1271           1 :    break;
    1272             :   }
    1273           3 :   case 6: {
    1274             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback match from bus_type."} */
    1275             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_match))(ldv_13_device_device, ldv_13_device_struct_device_driver_ptr);", "comment": "callback"} */
    1276           2 :    ldv_rtc_class_scenario_callback_13_15(ldv_13_callback_match, ldv_13_device_device, ldv_13_device_struct_device_driver_ptr);
    1277             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1278             : 
    1279             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    1280             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1281             : 
    1282             :    /* Jump to a subprocess 'call' initial state */
    1283           1 :    goto ldv_call_13;
    1284             :    /* Jump to a subprocess 'call' initial state */
    1285             :    goto ldv_call_13;
    1286             :    /* Jump to a subprocess 'call' initial state */
    1287             :    goto ldv_call_13;
    1288             :    /* Jump to a subprocess 'call' initial state */
    1289             :    goto ldv_call_13;
    1290             :    /* Jump to a subprocess 'call' initial state */
    1291             :    goto ldv_call_13;
    1292             :    /* Jump to a subprocess 'call' initial state */
    1293             :    goto ldv_call_13;
    1294           1 :    break;
    1295             :   }
    1296           3 :   case 7: {
    1297             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback probe from bus_type."} */
    1298             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_probe))(ldv_13_device_device);", "comment": "callback"} */
    1299           2 :    ldv_rtc_class_scenario_callback_13_4(ldv_13_callback_func_1_ptr, ldv_13_device_device);
    1300             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1301             : 
    1302             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    1303             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1304             : 
    1305             :    /* Jump to a subprocess 'call' initial state */
    1306           1 :    goto ldv_call_13;
    1307             :    /* Jump to a subprocess 'call' initial state */
    1308             :    goto ldv_call_13;
    1309             :    /* Jump to a subprocess 'call' initial state */
    1310             :    goto ldv_call_13;
    1311             :    /* Jump to a subprocess 'call' initial state */
    1312             :    goto ldv_call_13;
    1313             :    /* Jump to a subprocess 'call' initial state */
    1314             :    goto ldv_call_13;
    1315             :    /* Jump to a subprocess 'call' initial state */
    1316             :    goto ldv_call_13;
    1317             :    /* Jump to a subprocess 'call' initial state */
    1318             :    goto ldv_call_13;
    1319           1 :    break;
    1320             :   }
    1321           3 :   case 8: {
    1322             :    /* LDV {"action": "RELEASE", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback release from RTC."} */
    1323           3 :    if (ldv_13_rtc_class_ops_rtc_class_ops->release) {
    1324             :    /* LDV {"type": "CALLBACK", "call": "(ldv_13_rtc_class_ops_rtc_class_ops->release)(ldv_13_device_device);", "comment": "release"} */
    1325           2 :     ldv_rtc_class_scenario_release_13_2(ldv_13_rtc_class_ops_rtc_class_ops->release, ldv_13_device_device);
    1326             :    }
    1327             :    /* LDV {"action": "RELEASE", "type": "CALL_END"} */
    1328             : 
    1329             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    1330             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    1331             : 
    1332             :    /* Jump to a subprocess 'main' initial state */
    1333           2 :    goto ldv_main_13;
    1334           1 :    break;
    1335             :   }
    1336           2 :   default: ldv_stop();
    1337           1 :  }
    1338           0 :  /* End of the subprocess 'call' */
    1339           0 :  return;
    1340             :  /* LDV {"comment": "End of control function based on process 'rtc_class_scenario(rtc)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_rtc_class_scenario_13"} */
    1341             : }
    1342             : 
    1343             : /* AUX_FUNC ldv_rtc_class_scenario_14 */
    1344             : void ldv_rtc_class_scenario_14(void *arg0) {
    1345             :  /* LDV {"thread": 14, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'rtc_class_scenario(rtc)'", "function": "ldv_rtc_class_scenario_14"} */
    1346           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    1347           1 :  int (*ldv_14_callback_func_1_ptr)(struct device *);
    1348           1 :  int (*ldv_14_callback_match)(struct device *, struct device_driver *);
    1349           1 :  int (*ldv_14_callback_remove)(struct device *);
    1350           1 :  int (*ldv_14_callback_resume)(struct device *);
    1351           1 :  ssize_t (*ldv_14_callback_show)(struct device *, struct device_attribute *, char *);
    1352           1 :  int (*ldv_14_callback_suspend)(struct device *, pm_message_t );
    1353           1 :  int (*ldv_14_callback_uevent)(struct device *, struct kobj_uevent_env *);
    1354           1 :  struct device *ldv_14_device_device;
    1355           1 :  struct device_attribute *ldv_14_device_struct_device_attribute;
    1356           1 :  struct device_driver *ldv_14_device_struct_device_driver_ptr;
    1357           1 :  struct kobj_uevent_env *ldv_14_device_struct_kobj_uevent_env_ptr;
    1358           1 :  struct pm_message ldv_14_device_struct_pm_message;
    1359           1 :  char *ldv_14_ldv_param_18_2_default;
    1360           1 :  int ldv_14_ret_default;
    1361           1 :  struct rtc_class_ops *ldv_14_rtc_class_ops_rtc_class_ops;
    1362           1 :  struct rtc_device *ldv_14_rtc_device_rtc_device;
    1363           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    1364           1 :  /* Initialize automaton variables */
    1365           2 :  ldv_14_ret_default = 1;
    1366           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Begin RTC callbacks invocations scenario."} */
    1367           3 :  ldv_free(arg0);
    1368           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_END"} */
    1369           1 : 
    1370           1 :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
    1371           4 :  ldv_14_rtc_device_rtc_device = ldv_xmalloc_unknown_size(0);
    1372           3 :  ldv_14_rtc_class_ops_rtc_class_ops = ldv_xmalloc_unknown_size(0);
    1373           3 :  ldv_14_device_device = ldv_xmalloc_unknown_size(0);
    1374           3 :  ldv_14_device_struct_device_attribute = ldv_xmalloc_unknown_size(0);
    1375           3 :  ldv_14_device_struct_device_driver_ptr = ldv_xmalloc_unknown_size(0);
    1376           3 :  ldv_14_device_struct_kobj_uevent_env_ptr = ldv_xmalloc_unknown_size(0);
    1377             :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_END"} */
    1378             : 
    1379             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    1380             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    1381             : 
    1382             :  /* Jump to a subprocess 'main' initial state */
    1383           1 :  goto ldv_main_14;
    1384             :  /* End of the process */
    1385             :  return;
    1386           1 : 
    1387             :  /* Sbprocess main */
    1388             :  ldv_main_14:
    1389             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    1390             : 
    1391           4 :  if (ldv_undef_int()) {
    1392             :   /* LDV {"action": "PROBE", "type": "CALL_BEGIN", "callback": true, "comment": "Probe a new RTC device. Invoke callback probe from RTC."} */
    1393             :   /* Callback pre-call */
    1394           1 :   ldv_pre_probe();
    1395           3 :   if (ldv_14_rtc_class_ops_rtc_class_ops->open) {
    1396             :   /* LDV {"type": "CALLBACK", "call": "ldv_14_ret_default = (ldv_14_rtc_class_ops_rtc_class_ops->open)(ldv_14_device_device);", "comment": "probe"} */
    1397           2 :    ldv_14_ret_default = ldv_rtc_class_scenario_probe_14_11(ldv_14_rtc_class_ops_rtc_class_ops->open, ldv_14_device_device);
    1398             :   }
    1399             :   /* Callback post-call */
    1400           4 :   ldv_14_ret_default = ldv_post_probe(ldv_14_ret_default);
    1401             :   /* LDV {"action": "PROBE", "type": "CALL_END"} */
    1402             : 
    1403           4 :   if (ldv_undef_int()) {
    1404             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_BEGIN", "comment": "The RTC device has been successfully probed."} */
    1405           2 :    ldv_assume(ldv_14_ret_default == 0);
    1406             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_END"} */
    1407             : 
    1408             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    1409             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1410             : 
    1411             :    /* Jump to a subprocess 'call' initial state */
    1412           1 :    goto ldv_call_14;
    1413             :   }
    1414             :   else {
    1415             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_BEGIN", "comment": "Failed to probe the RTC device."} */
    1416           2 :    ldv_assume(ldv_14_ret_default != 0);
    1417             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_END"} */
    1418             : 
    1419             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    1420             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    1421             : 
    1422             :    /* Jump to a subprocess 'main' initial state */
    1423           1 :    goto ldv_main_14;
    1424             :   }
    1425             :  }
    1426             :  else {
    1427             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
    1428           2 :   ldv_free(ldv_14_rtc_device_rtc_device);
    1429             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_END"} */
    1430             : 
    1431             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Finish RTC callbacks invocations scenario."} */
    1432             :   /* Skip a non-replicative signal receiving */
    1433             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_END"} */
    1434             : 
    1435             :   /* Exit function at a terminal state */
    1436           1 :   return;
    1437             :  }
    1438             :  /* End of the subprocess 'main' */
    1439             :  return;
    1440           1 : 
    1441             :  /* Sbprocess call */
    1442             :  ldv_call_14:
    1443             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    1444             : 
    1445           2 :  switch (ldv_undef_int()) {
    1446           3 :   case 1: {
    1447             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback uevent from bus_type."} */
    1448             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_uevent))(ldv_14_device_device, ldv_14_device_struct_kobj_uevent_env_ptr);", "comment": "callback"} */
    1449           2 :    ldv_rtc_class_scenario_callback_14_22(ldv_14_callback_uevent, ldv_14_device_device, ldv_14_device_struct_kobj_uevent_env_ptr);
    1450             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1451             : 
    1452             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    1453             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1454             : 
    1455             :    /* Jump to a subprocess 'call' initial state */
    1456           1 :    goto ldv_call_14;
    1457           1 :    break;
    1458             :   }
    1459           3 :   case 2: {
    1460             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback suspend from bus_type."} */
    1461             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_suspend))(ldv_14_device_device, ldv_14_device_struct_pm_message);", "comment": "callback"} */
    1462           2 :    ldv_rtc_class_scenario_callback_14_21(ldv_14_callback_suspend, ldv_14_device_device, ldv_14_device_struct_pm_message);
    1463             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1464             : 
    1465             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    1466             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1467             : 
    1468             :    /* Jump to a subprocess 'call' initial state */
    1469           1 :    goto ldv_call_14;
    1470             :    /* Jump to a subprocess 'call' initial state */
    1471             :    goto ldv_call_14;
    1472           1 :    break;
    1473             :   }
    1474           3 :   case 3: {
    1475             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    1476           3 :    ldv_14_ldv_param_18_2_default = ldv_xmalloc_unknown_size(0);
    1477             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_END"} */
    1478             : 
    1479             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback show from device_attribute."} */
    1480             :    /* LDV {"type": "CALLBACK", "call": "((& vendor_show))(ldv_14_device_device, ldv_14_device_struct_device_attribute, ldv_14_ldv_param_18_2_default);", "comment": "callback"} */
    1481           2 :    ldv_rtc_class_scenario_callback_14_18(ldv_14_callback_show, ldv_14_device_device, ldv_14_device_struct_device_attribute, ldv_14_ldv_param_18_2_default);
    1482             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1483             : 
    1484             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    1485           2 :    ldv_free(ldv_14_ldv_param_18_2_default);
    1486             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_END"} */
    1487             : 
    1488             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    1489             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1490             : 
    1491             :    /* Jump to a subprocess 'call' initial state */
    1492           1 :    goto ldv_call_14;
    1493             :    /* Jump to a subprocess 'call' initial state */
    1494             :    goto ldv_call_14;
    1495             :    /* Jump to a subprocess 'call' initial state */
    1496             :    goto ldv_call_14;
    1497           1 :    break;
    1498             :   }
    1499           3 :   case 4: {
    1500             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback resume from bus_type."} */
    1501             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_resume))(ldv_14_device_device);", "comment": "callback"} */
    1502           2 :    ldv_rtc_class_scenario_callback_14_17(ldv_14_callback_resume, ldv_14_device_device);
    1503             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1504             : 
    1505             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    1506             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1507             : 
    1508             :    /* Jump to a subprocess 'call' initial state */
    1509           1 :    goto ldv_call_14;
    1510             :    /* Jump to a subprocess 'call' initial state */
    1511             :    goto ldv_call_14;
    1512             :    /* Jump to a subprocess 'call' initial state */
    1513             :    goto ldv_call_14;
    1514             :    /* Jump to a subprocess 'call' initial state */
    1515             :    goto ldv_call_14;
    1516           1 :    break;
    1517             :   }
    1518           3 :   case 5: {
    1519             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback remove from bus_type."} */
    1520             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_remove))(ldv_14_device_device);", "comment": "callback"} */
    1521           2 :    ldv_rtc_class_scenario_callback_14_16(ldv_14_callback_remove, ldv_14_device_device);
    1522             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1523             : 
    1524             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    1525             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1526             : 
    1527             :    /* Jump to a subprocess 'call' initial state */
    1528           1 :    goto ldv_call_14;
    1529             :    /* Jump to a subprocess 'call' initial state */
    1530             :    goto ldv_call_14;
    1531             :    /* Jump to a subprocess 'call' initial state */
    1532             :    goto ldv_call_14;
    1533             :    /* Jump to a subprocess 'call' initial state */
    1534             :    goto ldv_call_14;
    1535             :    /* Jump to a subprocess 'call' initial state */
    1536             :    goto ldv_call_14;
    1537           1 :    break;
    1538             :   }
    1539           3 :   case 6: {
    1540             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback match from bus_type."} */
    1541             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_match))(ldv_14_device_device, ldv_14_device_struct_device_driver_ptr);", "comment": "callback"} */
    1542           2 :    ldv_rtc_class_scenario_callback_14_15(ldv_14_callback_match, ldv_14_device_device, ldv_14_device_struct_device_driver_ptr);
    1543             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1544             : 
    1545             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    1546             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1547             : 
    1548             :    /* Jump to a subprocess 'call' initial state */
    1549           1 :    goto ldv_call_14;
    1550             :    /* Jump to a subprocess 'call' initial state */
    1551             :    goto ldv_call_14;
    1552             :    /* Jump to a subprocess 'call' initial state */
    1553             :    goto ldv_call_14;
    1554             :    /* Jump to a subprocess 'call' initial state */
    1555             :    goto ldv_call_14;
    1556             :    /* Jump to a subprocess 'call' initial state */
    1557             :    goto ldv_call_14;
    1558             :    /* Jump to a subprocess 'call' initial state */
    1559             :    goto ldv_call_14;
    1560           1 :    break;
    1561             :   }
    1562           3 :   case 7: {
    1563             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback probe from bus_type."} */
    1564             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_probe))(ldv_14_device_device);", "comment": "callback"} */
    1565           2 :    ldv_rtc_class_scenario_callback_14_4(ldv_14_callback_func_1_ptr, ldv_14_device_device);
    1566             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1567             : 
    1568             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    1569             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1570             : 
    1571             :    /* Jump to a subprocess 'call' initial state */
    1572           1 :    goto ldv_call_14;
    1573             :    /* Jump to a subprocess 'call' initial state */
    1574             :    goto ldv_call_14;
    1575             :    /* Jump to a subprocess 'call' initial state */
    1576             :    goto ldv_call_14;
    1577             :    /* Jump to a subprocess 'call' initial state */
    1578             :    goto ldv_call_14;
    1579             :    /* Jump to a subprocess 'call' initial state */
    1580             :    goto ldv_call_14;
    1581             :    /* Jump to a subprocess 'call' initial state */
    1582             :    goto ldv_call_14;
    1583             :    /* Jump to a subprocess 'call' initial state */
    1584             :    goto ldv_call_14;
    1585           1 :    break;
    1586             :   }
    1587           3 :   case 8: {
    1588             :    /* LDV {"action": "RELEASE", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback release from RTC."} */
    1589           3 :    if (ldv_14_rtc_class_ops_rtc_class_ops->release) {
    1590             :    /* LDV {"type": "CALLBACK", "call": "(ldv_14_rtc_class_ops_rtc_class_ops->release)(ldv_14_device_device);", "comment": "release"} */
    1591           2 :     ldv_rtc_class_scenario_release_14_2(ldv_14_rtc_class_ops_rtc_class_ops->release, ldv_14_device_device);
    1592             :    }
    1593             :    /* LDV {"action": "RELEASE", "type": "CALL_END"} */
    1594             : 
    1595             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    1596             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    1597             : 
    1598             :    /* Jump to a subprocess 'main' initial state */
    1599           2 :    goto ldv_main_14;
    1600           1 :    break;
    1601             :   }
    1602           2 :   default: ldv_stop();
    1603           1 :  }
    1604           0 :  /* End of the subprocess 'call' */
    1605           0 :  return;
    1606             :  /* LDV {"comment": "End of control function based on process 'rtc_class_scenario(rtc)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_rtc_class_scenario_14"} */
    1607             : }
    1608             : 
    1609             : /* AUX_FUNC ldv_rtc_class_scenario_15 */
    1610             : void ldv_rtc_class_scenario_15(void *arg0) {
    1611             :  /* LDV {"thread": 15, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'rtc_class_scenario(rtc)'", "function": "ldv_rtc_class_scenario_15"} */
    1612           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    1613           1 :  int (*ldv_15_callback_func_1_ptr)(struct device *);
    1614           1 :  int (*ldv_15_callback_match)(struct device *, struct device_driver *);
    1615           1 :  int (*ldv_15_callback_remove)(struct device *);
    1616           1 :  int (*ldv_15_callback_resume)(struct device *);
    1617           1 :  ssize_t (*ldv_15_callback_show)(struct device *, struct device_attribute *, char *);
    1618           1 :  int (*ldv_15_callback_suspend)(struct device *, pm_message_t );
    1619           1 :  int (*ldv_15_callback_uevent)(struct device *, struct kobj_uevent_env *);
    1620           1 :  struct device *ldv_15_device_device;
    1621           1 :  struct device_attribute *ldv_15_device_struct_device_attribute;
    1622           1 :  struct device_driver *ldv_15_device_struct_device_driver_ptr;
    1623           1 :  struct kobj_uevent_env *ldv_15_device_struct_kobj_uevent_env_ptr;
    1624           1 :  struct pm_message ldv_15_device_struct_pm_message;
    1625           1 :  char *ldv_15_ldv_param_18_2_default;
    1626           1 :  int ldv_15_ret_default;
    1627           1 :  struct rtc_class_ops *ldv_15_rtc_class_ops_rtc_class_ops;
    1628           1 :  struct rtc_device *ldv_15_rtc_device_rtc_device;
    1629           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    1630           1 :  /* Initialize automaton variables */
    1631           2 :  ldv_15_ret_default = 1;
    1632           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Begin RTC callbacks invocations scenario."} */
    1633           3 :  ldv_free(arg0);
    1634           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_END"} */
    1635           1 : 
    1636           1 :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
    1637           4 :  ldv_15_rtc_device_rtc_device = ldv_xmalloc_unknown_size(0);
    1638           3 :  ldv_15_rtc_class_ops_rtc_class_ops = ldv_xmalloc_unknown_size(0);
    1639           3 :  ldv_15_device_device = ldv_xmalloc_unknown_size(0);
    1640           3 :  ldv_15_device_struct_device_attribute = ldv_xmalloc_unknown_size(0);
    1641           3 :  ldv_15_device_struct_device_driver_ptr = ldv_xmalloc_unknown_size(0);
    1642           3 :  ldv_15_device_struct_kobj_uevent_env_ptr = ldv_xmalloc_unknown_size(0);
    1643             :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_END"} */
    1644             : 
    1645             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    1646             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    1647             : 
    1648             :  /* Jump to a subprocess 'main' initial state */
    1649           1 :  goto ldv_main_15;
    1650             :  /* End of the process */
    1651             :  return;
    1652           1 : 
    1653             :  /* Sbprocess main */
    1654             :  ldv_main_15:
    1655             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    1656             : 
    1657           4 :  if (ldv_undef_int()) {
    1658             :   /* LDV {"action": "PROBE", "type": "CALL_BEGIN", "callback": true, "comment": "Probe a new RTC device. Invoke callback probe from RTC."} */
    1659             :   /* Callback pre-call */
    1660           1 :   ldv_pre_probe();
    1661           3 :   if (ldv_15_rtc_class_ops_rtc_class_ops->open) {
    1662             :   /* LDV {"type": "CALLBACK", "call": "ldv_15_ret_default = (ldv_15_rtc_class_ops_rtc_class_ops->open)(ldv_15_device_device);", "comment": "probe"} */
    1663           2 :    ldv_15_ret_default = ldv_rtc_class_scenario_probe_15_11(ldv_15_rtc_class_ops_rtc_class_ops->open, ldv_15_device_device);
    1664             :   }
    1665             :   /* Callback post-call */
    1666           4 :   ldv_15_ret_default = ldv_post_probe(ldv_15_ret_default);
    1667             :   /* LDV {"action": "PROBE", "type": "CALL_END"} */
    1668             : 
    1669           4 :   if (ldv_undef_int()) {
    1670             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_BEGIN", "comment": "The RTC device has been successfully probed."} */
    1671           2 :    ldv_assume(ldv_15_ret_default == 0);
    1672             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_END"} */
    1673             : 
    1674             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    1675             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1676             : 
    1677             :    /* Jump to a subprocess 'call' initial state */
    1678           1 :    goto ldv_call_15;
    1679             :   }
    1680             :   else {
    1681             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_BEGIN", "comment": "Failed to probe the RTC device."} */
    1682           2 :    ldv_assume(ldv_15_ret_default != 0);
    1683             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_END"} */
    1684             : 
    1685             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    1686             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    1687             : 
    1688             :    /* Jump to a subprocess 'main' initial state */
    1689           1 :    goto ldv_main_15;
    1690             :   }
    1691             :  }
    1692             :  else {
    1693             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
    1694           2 :   ldv_free(ldv_15_rtc_device_rtc_device);
    1695             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_END"} */
    1696             : 
    1697             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Finish RTC callbacks invocations scenario."} */
    1698             :   /* Skip a non-replicative signal receiving */
    1699             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_END"} */
    1700             : 
    1701             :   /* Exit function at a terminal state */
    1702           1 :   return;
    1703             :  }
    1704             :  /* End of the subprocess 'main' */
    1705             :  return;
    1706           1 : 
    1707             :  /* Sbprocess call */
    1708             :  ldv_call_15:
    1709             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    1710             : 
    1711           2 :  switch (ldv_undef_int()) {
    1712           3 :   case 1: {
    1713             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback uevent from bus_type."} */
    1714             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_uevent))(ldv_15_device_device, ldv_15_device_struct_kobj_uevent_env_ptr);", "comment": "callback"} */
    1715           2 :    ldv_rtc_class_scenario_callback_15_22(ldv_15_callback_uevent, ldv_15_device_device, ldv_15_device_struct_kobj_uevent_env_ptr);
    1716             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1717             : 
    1718             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    1719             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1720             : 
    1721             :    /* Jump to a subprocess 'call' initial state */
    1722           1 :    goto ldv_call_15;
    1723           1 :    break;
    1724             :   }
    1725           3 :   case 2: {
    1726             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback suspend from bus_type."} */
    1727             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_suspend))(ldv_15_device_device, ldv_15_device_struct_pm_message);", "comment": "callback"} */
    1728           2 :    ldv_rtc_class_scenario_callback_15_21(ldv_15_callback_suspend, ldv_15_device_device, ldv_15_device_struct_pm_message);
    1729             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1730             : 
    1731             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    1732             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1733             : 
    1734             :    /* Jump to a subprocess 'call' initial state */
    1735           1 :    goto ldv_call_15;
    1736             :    /* Jump to a subprocess 'call' initial state */
    1737             :    goto ldv_call_15;
    1738           1 :    break;
    1739             :   }
    1740           3 :   case 3: {
    1741             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    1742           3 :    ldv_15_ldv_param_18_2_default = ldv_xmalloc_unknown_size(0);
    1743             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_END"} */
    1744             : 
    1745             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback show from device_attribute."} */
    1746             :    /* LDV {"type": "CALLBACK", "call": "((& vendor_show))(ldv_15_device_device, ldv_15_device_struct_device_attribute, ldv_15_ldv_param_18_2_default);", "comment": "callback"} */
    1747           2 :    ldv_rtc_class_scenario_callback_15_18(ldv_15_callback_show, ldv_15_device_device, ldv_15_device_struct_device_attribute, ldv_15_ldv_param_18_2_default);
    1748             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1749             : 
    1750             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    1751           2 :    ldv_free(ldv_15_ldv_param_18_2_default);
    1752             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_END"} */
    1753             : 
    1754             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    1755             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1756             : 
    1757             :    /* Jump to a subprocess 'call' initial state */
    1758           1 :    goto ldv_call_15;
    1759             :    /* Jump to a subprocess 'call' initial state */
    1760             :    goto ldv_call_15;
    1761             :    /* Jump to a subprocess 'call' initial state */
    1762             :    goto ldv_call_15;
    1763           1 :    break;
    1764             :   }
    1765           3 :   case 4: {
    1766             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback resume from bus_type."} */
    1767             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_resume))(ldv_15_device_device);", "comment": "callback"} */
    1768           2 :    ldv_rtc_class_scenario_callback_15_17(ldv_15_callback_resume, ldv_15_device_device);
    1769             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1770             : 
    1771             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    1772             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1773             : 
    1774             :    /* Jump to a subprocess 'call' initial state */
    1775           1 :    goto ldv_call_15;
    1776             :    /* Jump to a subprocess 'call' initial state */
    1777             :    goto ldv_call_15;
    1778             :    /* Jump to a subprocess 'call' initial state */
    1779             :    goto ldv_call_15;
    1780             :    /* Jump to a subprocess 'call' initial state */
    1781             :    goto ldv_call_15;
    1782           1 :    break;
    1783             :   }
    1784           3 :   case 5: {
    1785             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback remove from bus_type."} */
    1786             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_remove))(ldv_15_device_device);", "comment": "callback"} */
    1787           2 :    ldv_rtc_class_scenario_callback_15_16(ldv_15_callback_remove, ldv_15_device_device);
    1788             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1789             : 
    1790             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    1791             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1792             : 
    1793             :    /* Jump to a subprocess 'call' initial state */
    1794           1 :    goto ldv_call_15;
    1795             :    /* Jump to a subprocess 'call' initial state */
    1796             :    goto ldv_call_15;
    1797             :    /* Jump to a subprocess 'call' initial state */
    1798             :    goto ldv_call_15;
    1799             :    /* Jump to a subprocess 'call' initial state */
    1800             :    goto ldv_call_15;
    1801             :    /* Jump to a subprocess 'call' initial state */
    1802             :    goto ldv_call_15;
    1803           1 :    break;
    1804             :   }
    1805           3 :   case 6: {
    1806             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback match from bus_type."} */
    1807             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_match))(ldv_15_device_device, ldv_15_device_struct_device_driver_ptr);", "comment": "callback"} */
    1808           2 :    ldv_rtc_class_scenario_callback_15_15(ldv_15_callback_match, ldv_15_device_device, ldv_15_device_struct_device_driver_ptr);
    1809             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1810             : 
    1811             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    1812             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1813             : 
    1814             :    /* Jump to a subprocess 'call' initial state */
    1815           1 :    goto ldv_call_15;
    1816             :    /* Jump to a subprocess 'call' initial state */
    1817             :    goto ldv_call_15;
    1818             :    /* Jump to a subprocess 'call' initial state */
    1819             :    goto ldv_call_15;
    1820             :    /* Jump to a subprocess 'call' initial state */
    1821             :    goto ldv_call_15;
    1822             :    /* Jump to a subprocess 'call' initial state */
    1823             :    goto ldv_call_15;
    1824             :    /* Jump to a subprocess 'call' initial state */
    1825             :    goto ldv_call_15;
    1826           1 :    break;
    1827             :   }
    1828           3 :   case 7: {
    1829             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback probe from bus_type."} */
    1830             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_probe))(ldv_15_device_device);", "comment": "callback"} */
    1831           2 :    ldv_rtc_class_scenario_callback_15_4(ldv_15_callback_func_1_ptr, ldv_15_device_device);
    1832             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1833             : 
    1834             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    1835             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1836             : 
    1837             :    /* Jump to a subprocess 'call' initial state */
    1838           1 :    goto ldv_call_15;
    1839             :    /* Jump to a subprocess 'call' initial state */
    1840             :    goto ldv_call_15;
    1841             :    /* Jump to a subprocess 'call' initial state */
    1842             :    goto ldv_call_15;
    1843             :    /* Jump to a subprocess 'call' initial state */
    1844             :    goto ldv_call_15;
    1845             :    /* Jump to a subprocess 'call' initial state */
    1846             :    goto ldv_call_15;
    1847             :    /* Jump to a subprocess 'call' initial state */
    1848             :    goto ldv_call_15;
    1849             :    /* Jump to a subprocess 'call' initial state */
    1850             :    goto ldv_call_15;
    1851           1 :    break;
    1852             :   }
    1853           3 :   case 8: {
    1854             :    /* LDV {"action": "RELEASE", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback release from RTC."} */
    1855           3 :    if (ldv_15_rtc_class_ops_rtc_class_ops->release) {
    1856             :    /* LDV {"type": "CALLBACK", "call": "(ldv_15_rtc_class_ops_rtc_class_ops->release)(ldv_15_device_device);", "comment": "release"} */
    1857           2 :     ldv_rtc_class_scenario_release_15_2(ldv_15_rtc_class_ops_rtc_class_ops->release, ldv_15_device_device);
    1858             :    }
    1859             :    /* LDV {"action": "RELEASE", "type": "CALL_END"} */
    1860             : 
    1861             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    1862             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    1863             : 
    1864             :    /* Jump to a subprocess 'main' initial state */
    1865           2 :    goto ldv_main_15;
    1866           1 :    break;
    1867             :   }
    1868           2 :   default: ldv_stop();
    1869           1 :  }
    1870           0 :  /* End of the subprocess 'call' */
    1871           0 :  return;
    1872             :  /* LDV {"comment": "End of control function based on process 'rtc_class_scenario(rtc)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_rtc_class_scenario_15"} */
    1873             : }
    1874             : 
    1875             : /* AUX_FUNC ldv_rtc_class_scenario_16 */
    1876             : void ldv_rtc_class_scenario_16(void *arg0) {
    1877             :  /* LDV {"thread": 16, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'rtc_class_scenario(rtc)'", "function": "ldv_rtc_class_scenario_16"} */
    1878           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    1879           1 :  int (*ldv_16_callback_func_1_ptr)(struct device *);
    1880           1 :  int (*ldv_16_callback_match)(struct device *, struct device_driver *);
    1881           1 :  int (*ldv_16_callback_remove)(struct device *);
    1882           1 :  int (*ldv_16_callback_resume)(struct device *);
    1883           1 :  ssize_t (*ldv_16_callback_show)(struct device *, struct device_attribute *, char *);
    1884           1 :  int (*ldv_16_callback_suspend)(struct device *, pm_message_t );
    1885           1 :  int (*ldv_16_callback_uevent)(struct device *, struct kobj_uevent_env *);
    1886           1 :  struct device *ldv_16_device_device;
    1887           1 :  struct device_attribute *ldv_16_device_struct_device_attribute;
    1888           1 :  struct device_driver *ldv_16_device_struct_device_driver_ptr;
    1889           1 :  struct kobj_uevent_env *ldv_16_device_struct_kobj_uevent_env_ptr;
    1890           1 :  struct pm_message ldv_16_device_struct_pm_message;
    1891           1 :  char *ldv_16_ldv_param_18_2_default;
    1892           1 :  int ldv_16_ret_default;
    1893           1 :  struct rtc_class_ops *ldv_16_rtc_class_ops_rtc_class_ops;
    1894           1 :  struct rtc_device *ldv_16_rtc_device_rtc_device;
    1895           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    1896           1 :  /* Initialize automaton variables */
    1897           2 :  ldv_16_ret_default = 1;
    1898           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Begin RTC callbacks invocations scenario."} */
    1899           3 :  ldv_free(arg0);
    1900           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_END"} */
    1901           1 : 
    1902           1 :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
    1903           4 :  ldv_16_rtc_device_rtc_device = ldv_xmalloc_unknown_size(0);
    1904           3 :  ldv_16_rtc_class_ops_rtc_class_ops = ldv_xmalloc_unknown_size(0);
    1905           3 :  ldv_16_device_device = ldv_xmalloc_unknown_size(0);
    1906           3 :  ldv_16_device_struct_device_attribute = ldv_xmalloc_unknown_size(0);
    1907           3 :  ldv_16_device_struct_device_driver_ptr = ldv_xmalloc_unknown_size(0);
    1908           3 :  ldv_16_device_struct_kobj_uevent_env_ptr = ldv_xmalloc_unknown_size(0);
    1909             :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_END"} */
    1910             : 
    1911             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    1912             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    1913             : 
    1914             :  /* Jump to a subprocess 'main' initial state */
    1915           1 :  goto ldv_main_16;
    1916             :  /* End of the process */
    1917             :  return;
    1918           1 : 
    1919             :  /* Sbprocess main */
    1920             :  ldv_main_16:
    1921             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    1922             : 
    1923           4 :  if (ldv_undef_int()) {
    1924             :   /* LDV {"action": "PROBE", "type": "CALL_BEGIN", "callback": true, "comment": "Probe a new RTC device. Invoke callback probe from RTC."} */
    1925             :   /* Callback pre-call */
    1926           1 :   ldv_pre_probe();
    1927           3 :   if (ldv_16_rtc_class_ops_rtc_class_ops->open) {
    1928             :   /* LDV {"type": "CALLBACK", "call": "ldv_16_ret_default = (ldv_16_rtc_class_ops_rtc_class_ops->open)(ldv_16_device_device);", "comment": "probe"} */
    1929           2 :    ldv_16_ret_default = ldv_rtc_class_scenario_probe_16_11(ldv_16_rtc_class_ops_rtc_class_ops->open, ldv_16_device_device);
    1930             :   }
    1931             :   /* Callback post-call */
    1932           4 :   ldv_16_ret_default = ldv_post_probe(ldv_16_ret_default);
    1933             :   /* LDV {"action": "PROBE", "type": "CALL_END"} */
    1934             : 
    1935           4 :   if (ldv_undef_int()) {
    1936             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_BEGIN", "comment": "The RTC device has been successfully probed."} */
    1937           2 :    ldv_assume(ldv_16_ret_default == 0);
    1938             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_END"} */
    1939             : 
    1940             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    1941             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1942             : 
    1943             :    /* Jump to a subprocess 'call' initial state */
    1944           1 :    goto ldv_call_16;
    1945             :   }
    1946             :   else {
    1947             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_BEGIN", "comment": "Failed to probe the RTC device."} */
    1948           2 :    ldv_assume(ldv_16_ret_default != 0);
    1949             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_END"} */
    1950             : 
    1951             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    1952             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    1953             : 
    1954             :    /* Jump to a subprocess 'main' initial state */
    1955           1 :    goto ldv_main_16;
    1956             :   }
    1957             :  }
    1958             :  else {
    1959             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
    1960           2 :   ldv_free(ldv_16_rtc_device_rtc_device);
    1961             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_END"} */
    1962             : 
    1963             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Finish RTC callbacks invocations scenario."} */
    1964             :   /* Skip a non-replicative signal receiving */
    1965             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_END"} */
    1966             : 
    1967             :   /* Exit function at a terminal state */
    1968           1 :   return;
    1969             :  }
    1970             :  /* End of the subprocess 'main' */
    1971             :  return;
    1972           1 : 
    1973             :  /* Sbprocess call */
    1974             :  ldv_call_16:
    1975             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    1976             : 
    1977           2 :  switch (ldv_undef_int()) {
    1978           3 :   case 1: {
    1979             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback uevent from bus_type."} */
    1980             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_uevent))(ldv_16_device_device, ldv_16_device_struct_kobj_uevent_env_ptr);", "comment": "callback"} */
    1981           2 :    ldv_rtc_class_scenario_callback_16_22(ldv_16_callback_uevent, ldv_16_device_device, ldv_16_device_struct_kobj_uevent_env_ptr);
    1982             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1983             : 
    1984             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    1985             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1986             : 
    1987             :    /* Jump to a subprocess 'call' initial state */
    1988           1 :    goto ldv_call_16;
    1989           1 :    break;
    1990             :   }
    1991           3 :   case 2: {
    1992             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback suspend from bus_type."} */
    1993             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_suspend))(ldv_16_device_device, ldv_16_device_struct_pm_message);", "comment": "callback"} */
    1994           2 :    ldv_rtc_class_scenario_callback_16_21(ldv_16_callback_suspend, ldv_16_device_device, ldv_16_device_struct_pm_message);
    1995             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    1996             : 
    1997             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    1998             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    1999             : 
    2000             :    /* Jump to a subprocess 'call' initial state */
    2001           1 :    goto ldv_call_16;
    2002             :    /* Jump to a subprocess 'call' initial state */
    2003             :    goto ldv_call_16;
    2004           1 :    break;
    2005             :   }
    2006           3 :   case 3: {
    2007             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    2008           3 :    ldv_16_ldv_param_18_2_default = ldv_xmalloc_unknown_size(0);
    2009             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_END"} */
    2010             : 
    2011             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback show from device_attribute."} */
    2012             :    /* LDV {"type": "CALLBACK", "call": "((& device_show))(ldv_16_device_device, ldv_16_device_struct_device_attribute, ldv_16_ldv_param_18_2_default);", "comment": "callback"} */
    2013           2 :    ldv_rtc_class_scenario_callback_16_18(ldv_16_callback_show, ldv_16_device_device, ldv_16_device_struct_device_attribute, ldv_16_ldv_param_18_2_default);
    2014             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2015             : 
    2016             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    2017           2 :    ldv_free(ldv_16_ldv_param_18_2_default);
    2018             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_END"} */
    2019             : 
    2020             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    2021             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    2022             : 
    2023             :    /* Jump to a subprocess 'call' initial state */
    2024           1 :    goto ldv_call_16;
    2025             :    /* Jump to a subprocess 'call' initial state */
    2026             :    goto ldv_call_16;
    2027             :    /* Jump to a subprocess 'call' initial state */
    2028             :    goto ldv_call_16;
    2029           1 :    break;
    2030             :   }
    2031           3 :   case 4: {
    2032             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback resume from bus_type."} */
    2033             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_resume))(ldv_16_device_device);", "comment": "callback"} */
    2034           2 :    ldv_rtc_class_scenario_callback_16_17(ldv_16_callback_resume, ldv_16_device_device);
    2035             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2036             : 
    2037             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    2038             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    2039             : 
    2040             :    /* Jump to a subprocess 'call' initial state */
    2041           1 :    goto ldv_call_16;
    2042             :    /* Jump to a subprocess 'call' initial state */
    2043             :    goto ldv_call_16;
    2044             :    /* Jump to a subprocess 'call' initial state */
    2045             :    goto ldv_call_16;
    2046             :    /* Jump to a subprocess 'call' initial state */
    2047             :    goto ldv_call_16;
    2048           1 :    break;
    2049             :   }
    2050           3 :   case 5: {
    2051             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback remove from bus_type."} */
    2052             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_remove))(ldv_16_device_device);", "comment": "callback"} */
    2053           2 :    ldv_rtc_class_scenario_callback_16_16(ldv_16_callback_remove, ldv_16_device_device);
    2054             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2055             : 
    2056             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    2057             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    2058             : 
    2059             :    /* Jump to a subprocess 'call' initial state */
    2060           1 :    goto ldv_call_16;
    2061             :    /* Jump to a subprocess 'call' initial state */
    2062             :    goto ldv_call_16;
    2063             :    /* Jump to a subprocess 'call' initial state */
    2064             :    goto ldv_call_16;
    2065             :    /* Jump to a subprocess 'call' initial state */
    2066             :    goto ldv_call_16;
    2067             :    /* Jump to a subprocess 'call' initial state */
    2068             :    goto ldv_call_16;
    2069           1 :    break;
    2070             :   }
    2071           3 :   case 6: {
    2072             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback match from bus_type."} */
    2073             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_match))(ldv_16_device_device, ldv_16_device_struct_device_driver_ptr);", "comment": "callback"} */
    2074           2 :    ldv_rtc_class_scenario_callback_16_15(ldv_16_callback_match, ldv_16_device_device, ldv_16_device_struct_device_driver_ptr);
    2075             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2076             : 
    2077             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    2078             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    2079             : 
    2080             :    /* Jump to a subprocess 'call' initial state */
    2081           1 :    goto ldv_call_16;
    2082             :    /* Jump to a subprocess 'call' initial state */
    2083             :    goto ldv_call_16;
    2084             :    /* Jump to a subprocess 'call' initial state */
    2085             :    goto ldv_call_16;
    2086             :    /* Jump to a subprocess 'call' initial state */
    2087             :    goto ldv_call_16;
    2088             :    /* Jump to a subprocess 'call' initial state */
    2089             :    goto ldv_call_16;
    2090             :    /* Jump to a subprocess 'call' initial state */
    2091             :    goto ldv_call_16;
    2092           1 :    break;
    2093             :   }
    2094           3 :   case 7: {
    2095             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback probe from bus_type."} */
    2096             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_probe))(ldv_16_device_device);", "comment": "callback"} */
    2097           2 :    ldv_rtc_class_scenario_callback_16_4(ldv_16_callback_func_1_ptr, ldv_16_device_device);
    2098             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2099             : 
    2100             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    2101             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    2102             : 
    2103             :    /* Jump to a subprocess 'call' initial state */
    2104           1 :    goto ldv_call_16;
    2105             :    /* Jump to a subprocess 'call' initial state */
    2106             :    goto ldv_call_16;
    2107             :    /* Jump to a subprocess 'call' initial state */
    2108             :    goto ldv_call_16;
    2109             :    /* Jump to a subprocess 'call' initial state */
    2110             :    goto ldv_call_16;
    2111             :    /* Jump to a subprocess 'call' initial state */
    2112             :    goto ldv_call_16;
    2113             :    /* Jump to a subprocess 'call' initial state */
    2114             :    goto ldv_call_16;
    2115             :    /* Jump to a subprocess 'call' initial state */
    2116             :    goto ldv_call_16;
    2117           1 :    break;
    2118             :   }
    2119           3 :   case 8: {
    2120             :    /* LDV {"action": "RELEASE", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback release from RTC."} */
    2121           3 :    if (ldv_16_rtc_class_ops_rtc_class_ops->release) {
    2122             :    /* LDV {"type": "CALLBACK", "call": "(ldv_16_rtc_class_ops_rtc_class_ops->release)(ldv_16_device_device);", "comment": "release"} */
    2123           2 :     ldv_rtc_class_scenario_release_16_2(ldv_16_rtc_class_ops_rtc_class_ops->release, ldv_16_device_device);
    2124             :    }
    2125             :    /* LDV {"action": "RELEASE", "type": "CALL_END"} */
    2126             : 
    2127             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    2128             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    2129             : 
    2130             :    /* Jump to a subprocess 'main' initial state */
    2131           2 :    goto ldv_main_16;
    2132           1 :    break;
    2133             :   }
    2134           2 :   default: ldv_stop();
    2135           1 :  }
    2136           0 :  /* End of the subprocess 'call' */
    2137           0 :  return;
    2138             :  /* LDV {"comment": "End of control function based on process 'rtc_class_scenario(rtc)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_rtc_class_scenario_16"} */
    2139             : }
    2140             : 
    2141             : /* AUX_FUNC ldv_rtc_class_scenario_17 */
    2142             : void ldv_rtc_class_scenario_17(void *arg0) {
    2143             :  /* LDV {"thread": 17, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'rtc_class_scenario(rtc)'", "function": "ldv_rtc_class_scenario_17"} */
    2144           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    2145           1 :  int (*ldv_17_callback_func_1_ptr)(struct device *);
    2146           1 :  int (*ldv_17_callback_match)(struct device *, struct device_driver *);
    2147           1 :  int (*ldv_17_callback_remove)(struct device *);
    2148           1 :  int (*ldv_17_callback_resume)(struct device *);
    2149           1 :  ssize_t (*ldv_17_callback_show)(struct device *, struct device_attribute *, char *);
    2150           1 :  int (*ldv_17_callback_suspend)(struct device *, pm_message_t );
    2151           1 :  int (*ldv_17_callback_uevent)(struct device *, struct kobj_uevent_env *);
    2152           1 :  struct device *ldv_17_device_device;
    2153           1 :  struct device_attribute *ldv_17_device_struct_device_attribute;
    2154           1 :  struct device_driver *ldv_17_device_struct_device_driver_ptr;
    2155           1 :  struct kobj_uevent_env *ldv_17_device_struct_kobj_uevent_env_ptr;
    2156           1 :  struct pm_message ldv_17_device_struct_pm_message;
    2157           1 :  char *ldv_17_ldv_param_18_2_default;
    2158           1 :  int ldv_17_ret_default;
    2159           1 :  struct rtc_class_ops *ldv_17_rtc_class_ops_rtc_class_ops;
    2160           1 :  struct rtc_device *ldv_17_rtc_device_rtc_device;
    2161           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    2162           1 :  /* Initialize automaton variables */
    2163           2 :  ldv_17_ret_default = 1;
    2164           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Begin RTC callbacks invocations scenario."} */
    2165           3 :  ldv_free(arg0);
    2166           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_END"} */
    2167           1 : 
    2168           1 :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
    2169           4 :  ldv_17_rtc_device_rtc_device = ldv_xmalloc_unknown_size(0);
    2170           3 :  ldv_17_rtc_class_ops_rtc_class_ops = ldv_xmalloc_unknown_size(0);
    2171           3 :  ldv_17_device_device = ldv_xmalloc_unknown_size(0);
    2172           3 :  ldv_17_device_struct_device_attribute = ldv_xmalloc_unknown_size(0);
    2173           3 :  ldv_17_device_struct_device_driver_ptr = ldv_xmalloc_unknown_size(0);
    2174           3 :  ldv_17_device_struct_kobj_uevent_env_ptr = ldv_xmalloc_unknown_size(0);
    2175             :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_END"} */
    2176             : 
    2177             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    2178             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    2179             : 
    2180             :  /* Jump to a subprocess 'main' initial state */
    2181           1 :  goto ldv_main_17;
    2182             :  /* End of the process */
    2183             :  return;
    2184           1 : 
    2185             :  /* Sbprocess main */
    2186             :  ldv_main_17:
    2187             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    2188             : 
    2189           4 :  if (ldv_undef_int()) {
    2190             :   /* LDV {"action": "PROBE", "type": "CALL_BEGIN", "callback": true, "comment": "Probe a new RTC device. Invoke callback probe from RTC."} */
    2191             :   /* Callback pre-call */
    2192           1 :   ldv_pre_probe();
    2193           3 :   if (ldv_17_rtc_class_ops_rtc_class_ops->open) {
    2194             :   /* LDV {"type": "CALLBACK", "call": "ldv_17_ret_default = (ldv_17_rtc_class_ops_rtc_class_ops->open)(ldv_17_device_device);", "comment": "probe"} */
    2195           2 :    ldv_17_ret_default = ldv_rtc_class_scenario_probe_17_11(ldv_17_rtc_class_ops_rtc_class_ops->open, ldv_17_device_device);
    2196             :   }
    2197             :   /* Callback post-call */
    2198           4 :   ldv_17_ret_default = ldv_post_probe(ldv_17_ret_default);
    2199             :   /* LDV {"action": "PROBE", "type": "CALL_END"} */
    2200             : 
    2201           4 :   if (ldv_undef_int()) {
    2202             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_BEGIN", "comment": "The RTC device has been successfully probed."} */
    2203           2 :    ldv_assume(ldv_17_ret_default == 0);
    2204             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_END"} */
    2205             : 
    2206             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    2207             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    2208             : 
    2209             :    /* Jump to a subprocess 'call' initial state */
    2210           1 :    goto ldv_call_17;
    2211             :   }
    2212             :   else {
    2213             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_BEGIN", "comment": "Failed to probe the RTC device."} */
    2214           2 :    ldv_assume(ldv_17_ret_default != 0);
    2215             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_END"} */
    2216             : 
    2217             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    2218             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    2219             : 
    2220             :    /* Jump to a subprocess 'main' initial state */
    2221           1 :    goto ldv_main_17;
    2222             :   }
    2223             :  }
    2224             :  else {
    2225             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
    2226           2 :   ldv_free(ldv_17_rtc_device_rtc_device);
    2227             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_END"} */
    2228             : 
    2229             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Finish RTC callbacks invocations scenario."} */
    2230             :   /* Skip a non-replicative signal receiving */
    2231             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_END"} */
    2232             : 
    2233             :   /* Exit function at a terminal state */
    2234           1 :   return;
    2235             :  }
    2236             :  /* End of the subprocess 'main' */
    2237             :  return;
    2238           1 : 
    2239             :  /* Sbprocess call */
    2240             :  ldv_call_17:
    2241             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    2242             : 
    2243           2 :  switch (ldv_undef_int()) {
    2244           3 :   case 1: {
    2245             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback uevent from bus_type."} */
    2246             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_uevent))(ldv_17_device_device, ldv_17_device_struct_kobj_uevent_env_ptr);", "comment": "callback"} */
    2247           2 :    ldv_rtc_class_scenario_callback_17_22(ldv_17_callback_uevent, ldv_17_device_device, ldv_17_device_struct_kobj_uevent_env_ptr);
    2248             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2249             : 
    2250             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    2251             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    2252             : 
    2253             :    /* Jump to a subprocess 'call' initial state */
    2254           1 :    goto ldv_call_17;
    2255           1 :    break;
    2256             :   }
    2257           3 :   case 2: {
    2258             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback suspend from bus_type."} */
    2259             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_suspend))(ldv_17_device_device, ldv_17_device_struct_pm_message);", "comment": "callback"} */
    2260           2 :    ldv_rtc_class_scenario_callback_17_21(ldv_17_callback_suspend, ldv_17_device_device, ldv_17_device_struct_pm_message);
    2261             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2262             : 
    2263             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    2264             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    2265             : 
    2266             :    /* Jump to a subprocess 'call' initial state */
    2267           1 :    goto ldv_call_17;
    2268             :    /* Jump to a subprocess 'call' initial state */
    2269             :    goto ldv_call_17;
    2270           1 :    break;
    2271             :   }
    2272           3 :   case 3: {
    2273             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    2274           3 :    ldv_17_ldv_param_18_2_default = ldv_xmalloc_unknown_size(0);
    2275             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_END"} */
    2276             : 
    2277             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback show from device_attribute."} */
    2278             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_cid_show))(ldv_17_device_device, ldv_17_device_struct_device_attribute, ldv_17_ldv_param_18_2_default);", "comment": "callback"} */
    2279           2 :    ldv_rtc_class_scenario_callback_17_18(ldv_17_callback_show, ldv_17_device_device, ldv_17_device_struct_device_attribute, ldv_17_ldv_param_18_2_default);
    2280             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2281             : 
    2282             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    2283           2 :    ldv_free(ldv_17_ldv_param_18_2_default);
    2284             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_END"} */
    2285             : 
    2286             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    2287             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    2288             : 
    2289             :    /* Jump to a subprocess 'call' initial state */
    2290           1 :    goto ldv_call_17;
    2291             :    /* Jump to a subprocess 'call' initial state */
    2292             :    goto ldv_call_17;
    2293             :    /* Jump to a subprocess 'call' initial state */
    2294             :    goto ldv_call_17;
    2295           1 :    break;
    2296             :   }
    2297           3 :   case 4: {
    2298             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback resume from bus_type."} */
    2299             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_resume))(ldv_17_device_device);", "comment": "callback"} */
    2300           2 :    ldv_rtc_class_scenario_callback_17_17(ldv_17_callback_resume, ldv_17_device_device);
    2301             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2302             : 
    2303             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    2304             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    2305             : 
    2306             :    /* Jump to a subprocess 'call' initial state */
    2307           1 :    goto ldv_call_17;
    2308             :    /* Jump to a subprocess 'call' initial state */
    2309             :    goto ldv_call_17;
    2310             :    /* Jump to a subprocess 'call' initial state */
    2311             :    goto ldv_call_17;
    2312             :    /* Jump to a subprocess 'call' initial state */
    2313             :    goto ldv_call_17;
    2314           1 :    break;
    2315             :   }
    2316           3 :   case 5: {
    2317             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback remove from bus_type."} */
    2318             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_remove))(ldv_17_device_device);", "comment": "callback"} */
    2319           2 :    ldv_rtc_class_scenario_callback_17_16(ldv_17_callback_remove, ldv_17_device_device);
    2320             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2321             : 
    2322             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    2323             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    2324             : 
    2325             :    /* Jump to a subprocess 'call' initial state */
    2326           1 :    goto ldv_call_17;
    2327             :    /* Jump to a subprocess 'call' initial state */
    2328             :    goto ldv_call_17;
    2329             :    /* Jump to a subprocess 'call' initial state */
    2330             :    goto ldv_call_17;
    2331             :    /* Jump to a subprocess 'call' initial state */
    2332             :    goto ldv_call_17;
    2333             :    /* Jump to a subprocess 'call' initial state */
    2334             :    goto ldv_call_17;
    2335           1 :    break;
    2336             :   }
    2337           3 :   case 6: {
    2338             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback match from bus_type."} */
    2339             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_match))(ldv_17_device_device, ldv_17_device_struct_device_driver_ptr);", "comment": "callback"} */
    2340           2 :    ldv_rtc_class_scenario_callback_17_15(ldv_17_callback_match, ldv_17_device_device, ldv_17_device_struct_device_driver_ptr);
    2341             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2342             : 
    2343             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    2344             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    2345             : 
    2346             :    /* Jump to a subprocess 'call' initial state */
    2347           1 :    goto ldv_call_17;
    2348             :    /* Jump to a subprocess 'call' initial state */
    2349             :    goto ldv_call_17;
    2350             :    /* Jump to a subprocess 'call' initial state */
    2351             :    goto ldv_call_17;
    2352             :    /* Jump to a subprocess 'call' initial state */
    2353             :    goto ldv_call_17;
    2354             :    /* Jump to a subprocess 'call' initial state */
    2355             :    goto ldv_call_17;
    2356             :    /* Jump to a subprocess 'call' initial state */
    2357             :    goto ldv_call_17;
    2358           1 :    break;
    2359             :   }
    2360           3 :   case 7: {
    2361             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback probe from bus_type."} */
    2362             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_probe))(ldv_17_device_device);", "comment": "callback"} */
    2363           2 :    ldv_rtc_class_scenario_callback_17_4(ldv_17_callback_func_1_ptr, ldv_17_device_device);
    2364             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2365             : 
    2366             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    2367             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    2368             : 
    2369             :    /* Jump to a subprocess 'call' initial state */
    2370           1 :    goto ldv_call_17;
    2371             :    /* Jump to a subprocess 'call' initial state */
    2372             :    goto ldv_call_17;
    2373             :    /* Jump to a subprocess 'call' initial state */
    2374             :    goto ldv_call_17;
    2375             :    /* Jump to a subprocess 'call' initial state */
    2376             :    goto ldv_call_17;
    2377             :    /* Jump to a subprocess 'call' initial state */
    2378             :    goto ldv_call_17;
    2379             :    /* Jump to a subprocess 'call' initial state */
    2380             :    goto ldv_call_17;
    2381             :    /* Jump to a subprocess 'call' initial state */
    2382             :    goto ldv_call_17;
    2383           1 :    break;
    2384             :   }
    2385           3 :   case 8: {
    2386             :    /* LDV {"action": "RELEASE", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback release from RTC."} */
    2387           3 :    if (ldv_17_rtc_class_ops_rtc_class_ops->release) {
    2388             :    /* LDV {"type": "CALLBACK", "call": "(ldv_17_rtc_class_ops_rtc_class_ops->release)(ldv_17_device_device);", "comment": "release"} */
    2389           2 :     ldv_rtc_class_scenario_release_17_2(ldv_17_rtc_class_ops_rtc_class_ops->release, ldv_17_device_device);
    2390             :    }
    2391             :    /* LDV {"action": "RELEASE", "type": "CALL_END"} */
    2392             : 
    2393             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    2394             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    2395             : 
    2396             :    /* Jump to a subprocess 'main' initial state */
    2397           2 :    goto ldv_main_17;
    2398           1 :    break;
    2399             :   }
    2400           2 :   default: ldv_stop();
    2401           1 :  }
    2402           0 :  /* End of the subprocess 'call' */
    2403           0 :  return;
    2404             :  /* LDV {"comment": "End of control function based on process 'rtc_class_scenario(rtc)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_rtc_class_scenario_17"} */
    2405             : }
    2406             : 
    2407             : /* AUX_FUNC ldv_rtc_class_scenario_18 */
    2408             : void ldv_rtc_class_scenario_18(void *arg0) {
    2409             :  /* LDV {"thread": 18, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'rtc_class_scenario(rtc)'", "function": "ldv_rtc_class_scenario_18"} */
    2410           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    2411           1 :  int (*ldv_18_callback_func_1_ptr)(struct device *);
    2412           1 :  int (*ldv_18_callback_match)(struct device *, struct device_driver *);
    2413           1 :  int (*ldv_18_callback_remove)(struct device *);
    2414           1 :  int (*ldv_18_callback_resume)(struct device *);
    2415           1 :  ssize_t (*ldv_18_callback_show)(struct device *, struct device_attribute *, char *);
    2416           1 :  int (*ldv_18_callback_suspend)(struct device *, pm_message_t );
    2417           1 :  int (*ldv_18_callback_uevent)(struct device *, struct kobj_uevent_env *);
    2418           1 :  struct device *ldv_18_device_device;
    2419           1 :  struct device_attribute *ldv_18_device_struct_device_attribute;
    2420           1 :  struct device_driver *ldv_18_device_struct_device_driver_ptr;
    2421           1 :  struct kobj_uevent_env *ldv_18_device_struct_kobj_uevent_env_ptr;
    2422           1 :  struct pm_message ldv_18_device_struct_pm_message;
    2423           1 :  char *ldv_18_ldv_param_18_2_default;
    2424           1 :  int ldv_18_ret_default;
    2425           1 :  struct rtc_class_ops *ldv_18_rtc_class_ops_rtc_class_ops;
    2426           1 :  struct rtc_device *ldv_18_rtc_device_rtc_device;
    2427           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    2428           1 :  /* Initialize automaton variables */
    2429           2 :  ldv_18_ret_default = 1;
    2430           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Begin RTC callbacks invocations scenario."} */
    2431           3 :  ldv_free(arg0);
    2432           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_END"} */
    2433           1 : 
    2434           1 :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
    2435           4 :  ldv_18_rtc_device_rtc_device = ldv_xmalloc_unknown_size(0);
    2436           3 :  ldv_18_rtc_class_ops_rtc_class_ops = ldv_xmalloc_unknown_size(0);
    2437           3 :  ldv_18_device_device = ldv_xmalloc_unknown_size(0);
    2438           3 :  ldv_18_device_struct_device_attribute = ldv_xmalloc_unknown_size(0);
    2439           3 :  ldv_18_device_struct_device_driver_ptr = ldv_xmalloc_unknown_size(0);
    2440           3 :  ldv_18_device_struct_kobj_uevent_env_ptr = ldv_xmalloc_unknown_size(0);
    2441             :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_END"} */
    2442             : 
    2443             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    2444             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    2445             : 
    2446             :  /* Jump to a subprocess 'main' initial state */
    2447           1 :  goto ldv_main_18;
    2448             :  /* End of the process */
    2449             :  return;
    2450           1 : 
    2451             :  /* Sbprocess main */
    2452             :  ldv_main_18:
    2453             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    2454             : 
    2455           4 :  if (ldv_undef_int()) {
    2456             :   /* LDV {"action": "PROBE", "type": "CALL_BEGIN", "callback": true, "comment": "Probe a new RTC device. Invoke callback probe from RTC."} */
    2457             :   /* Callback pre-call */
    2458           1 :   ldv_pre_probe();
    2459           3 :   if (ldv_18_rtc_class_ops_rtc_class_ops->open) {
    2460             :   /* LDV {"type": "CALLBACK", "call": "ldv_18_ret_default = (ldv_18_rtc_class_ops_rtc_class_ops->open)(ldv_18_device_device);", "comment": "probe"} */
    2461           2 :    ldv_18_ret_default = ldv_rtc_class_scenario_probe_18_11(ldv_18_rtc_class_ops_rtc_class_ops->open, ldv_18_device_device);
    2462             :   }
    2463             :   /* Callback post-call */
    2464           4 :   ldv_18_ret_default = ldv_post_probe(ldv_18_ret_default);
    2465             :   /* LDV {"action": "PROBE", "type": "CALL_END"} */
    2466             : 
    2467           4 :   if (ldv_undef_int()) {
    2468             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_BEGIN", "comment": "The RTC device has been successfully probed."} */
    2469           2 :    ldv_assume(ldv_18_ret_default == 0);
    2470             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_END"} */
    2471             : 
    2472             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    2473             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    2474             : 
    2475             :    /* Jump to a subprocess 'call' initial state */
    2476           1 :    goto ldv_call_18;
    2477             :   }
    2478             :   else {
    2479             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_BEGIN", "comment": "Failed to probe the RTC device."} */
    2480           2 :    ldv_assume(ldv_18_ret_default != 0);
    2481             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_END"} */
    2482             : 
    2483             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    2484             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    2485             : 
    2486             :    /* Jump to a subprocess 'main' initial state */
    2487           1 :    goto ldv_main_18;
    2488             :   }
    2489             :  }
    2490             :  else {
    2491             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
    2492           2 :   ldv_free(ldv_18_rtc_device_rtc_device);
    2493             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_END"} */
    2494             : 
    2495             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Finish RTC callbacks invocations scenario."} */
    2496             :   /* Skip a non-replicative signal receiving */
    2497             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_END"} */
    2498             : 
    2499             :   /* Exit function at a terminal state */
    2500           1 :   return;
    2501             :  }
    2502             :  /* End of the subprocess 'main' */
    2503             :  return;
    2504           1 : 
    2505             :  /* Sbprocess call */
    2506             :  ldv_call_18:
    2507             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    2508             : 
    2509           2 :  switch (ldv_undef_int()) {
    2510           3 :   case 1: {
    2511             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback uevent from bus_type."} */
    2512             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_uevent))(ldv_18_device_device, ldv_18_device_struct_kobj_uevent_env_ptr);", "comment": "callback"} */
    2513           2 :    ldv_rtc_class_scenario_callback_18_22(ldv_18_callback_uevent, ldv_18_device_device, ldv_18_device_struct_kobj_uevent_env_ptr);
    2514             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2515             : 
    2516             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    2517             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    2518             : 
    2519             :    /* Jump to a subprocess 'call' initial state */
    2520           1 :    goto ldv_call_18;
    2521           1 :    break;
    2522             :   }
    2523           3 :   case 2: {
    2524             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback suspend from bus_type."} */
    2525             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_suspend))(ldv_18_device_device, ldv_18_device_struct_pm_message);", "comment": "callback"} */
    2526           2 :    ldv_rtc_class_scenario_callback_18_21(ldv_18_callback_suspend, ldv_18_device_device, ldv_18_device_struct_pm_message);
    2527             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2528             : 
    2529             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    2530             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    2531             : 
    2532             :    /* Jump to a subprocess 'call' initial state */
    2533           1 :    goto ldv_call_18;
    2534             :    /* Jump to a subprocess 'call' initial state */
    2535             :    goto ldv_call_18;
    2536           1 :    break;
    2537             :   }
    2538           3 :   case 3: {
    2539             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    2540           3 :    ldv_18_ldv_param_18_2_default = ldv_xmalloc_unknown_size(0);
    2541             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_END"} */
    2542             : 
    2543             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback show from device_attribute."} */
    2544             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_type_show))(ldv_18_device_device, ldv_18_device_struct_device_attribute, ldv_18_ldv_param_18_2_default);", "comment": "callback"} */
    2545           2 :    ldv_rtc_class_scenario_callback_18_18(ldv_18_callback_show, ldv_18_device_device, ldv_18_device_struct_device_attribute, ldv_18_ldv_param_18_2_default);
    2546             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2547             : 
    2548             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    2549           2 :    ldv_free(ldv_18_ldv_param_18_2_default);
    2550             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_END"} */
    2551             : 
    2552             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    2553             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    2554             : 
    2555             :    /* Jump to a subprocess 'call' initial state */
    2556           1 :    goto ldv_call_18;
    2557             :    /* Jump to a subprocess 'call' initial state */
    2558             :    goto ldv_call_18;
    2559             :    /* Jump to a subprocess 'call' initial state */
    2560             :    goto ldv_call_18;
    2561           1 :    break;
    2562             :   }
    2563           3 :   case 4: {
    2564             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback resume from bus_type."} */
    2565             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_resume))(ldv_18_device_device);", "comment": "callback"} */
    2566           2 :    ldv_rtc_class_scenario_callback_18_17(ldv_18_callback_resume, ldv_18_device_device);
    2567             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2568             : 
    2569             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    2570             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    2571             : 
    2572             :    /* Jump to a subprocess 'call' initial state */
    2573           1 :    goto ldv_call_18;
    2574             :    /* Jump to a subprocess 'call' initial state */
    2575             :    goto ldv_call_18;
    2576             :    /* Jump to a subprocess 'call' initial state */
    2577             :    goto ldv_call_18;
    2578             :    /* Jump to a subprocess 'call' initial state */
    2579             :    goto ldv_call_18;
    2580           1 :    break;
    2581             :   }
    2582           3 :   case 5: {
    2583             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback remove from bus_type."} */
    2584             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_remove))(ldv_18_device_device);", "comment": "callback"} */
    2585           2 :    ldv_rtc_class_scenario_callback_18_16(ldv_18_callback_remove, ldv_18_device_device);
    2586             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2587             : 
    2588             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    2589             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    2590             : 
    2591             :    /* Jump to a subprocess 'call' initial state */
    2592           1 :    goto ldv_call_18;
    2593             :    /* Jump to a subprocess 'call' initial state */
    2594             :    goto ldv_call_18;
    2595             :    /* Jump to a subprocess 'call' initial state */
    2596             :    goto ldv_call_18;
    2597             :    /* Jump to a subprocess 'call' initial state */
    2598             :    goto ldv_call_18;
    2599             :    /* Jump to a subprocess 'call' initial state */
    2600             :    goto ldv_call_18;
    2601           1 :    break;
    2602             :   }
    2603           3 :   case 6: {
    2604             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback match from bus_type."} */
    2605             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_match))(ldv_18_device_device, ldv_18_device_struct_device_driver_ptr);", "comment": "callback"} */
    2606           2 :    ldv_rtc_class_scenario_callback_18_15(ldv_18_callback_match, ldv_18_device_device, ldv_18_device_struct_device_driver_ptr);
    2607             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2608             : 
    2609             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    2610             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    2611             : 
    2612             :    /* Jump to a subprocess 'call' initial state */
    2613           1 :    goto ldv_call_18;
    2614             :    /* Jump to a subprocess 'call' initial state */
    2615             :    goto ldv_call_18;
    2616             :    /* Jump to a subprocess 'call' initial state */
    2617             :    goto ldv_call_18;
    2618             :    /* Jump to a subprocess 'call' initial state */
    2619             :    goto ldv_call_18;
    2620             :    /* Jump to a subprocess 'call' initial state */
    2621             :    goto ldv_call_18;
    2622             :    /* Jump to a subprocess 'call' initial state */
    2623             :    goto ldv_call_18;
    2624           1 :    break;
    2625             :   }
    2626           3 :   case 7: {
    2627             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback probe from bus_type."} */
    2628             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_probe))(ldv_18_device_device);", "comment": "callback"} */
    2629           2 :    ldv_rtc_class_scenario_callback_18_4(ldv_18_callback_func_1_ptr, ldv_18_device_device);
    2630             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2631             : 
    2632             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    2633             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    2634             : 
    2635             :    /* Jump to a subprocess 'call' initial state */
    2636           1 :    goto ldv_call_18;
    2637             :    /* Jump to a subprocess 'call' initial state */
    2638             :    goto ldv_call_18;
    2639             :    /* Jump to a subprocess 'call' initial state */
    2640             :    goto ldv_call_18;
    2641             :    /* Jump to a subprocess 'call' initial state */
    2642             :    goto ldv_call_18;
    2643             :    /* Jump to a subprocess 'call' initial state */
    2644             :    goto ldv_call_18;
    2645             :    /* Jump to a subprocess 'call' initial state */
    2646             :    goto ldv_call_18;
    2647             :    /* Jump to a subprocess 'call' initial state */
    2648             :    goto ldv_call_18;
    2649           1 :    break;
    2650             :   }
    2651           3 :   case 8: {
    2652             :    /* LDV {"action": "RELEASE", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback release from RTC."} */
    2653           3 :    if (ldv_18_rtc_class_ops_rtc_class_ops->release) {
    2654             :    /* LDV {"type": "CALLBACK", "call": "(ldv_18_rtc_class_ops_rtc_class_ops->release)(ldv_18_device_device);", "comment": "release"} */
    2655           2 :     ldv_rtc_class_scenario_release_18_2(ldv_18_rtc_class_ops_rtc_class_ops->release, ldv_18_device_device);
    2656             :    }
    2657             :    /* LDV {"action": "RELEASE", "type": "CALL_END"} */
    2658             : 
    2659             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    2660             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    2661             : 
    2662             :    /* Jump to a subprocess 'main' initial state */
    2663           2 :    goto ldv_main_18;
    2664           1 :    break;
    2665             :   }
    2666           2 :   default: ldv_stop();
    2667           1 :  }
    2668           0 :  /* End of the subprocess 'call' */
    2669           0 :  return;
    2670             :  /* LDV {"comment": "End of control function based on process 'rtc_class_scenario(rtc)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_rtc_class_scenario_18"} */
    2671             : }
    2672             : 
    2673             : /* AUX_FUNC ldv_rtc_class_scenario_19 */
    2674             : void ldv_rtc_class_scenario_19(void *arg0) {
    2675             :  /* LDV {"thread": 19, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'rtc_class_scenario(rtc)'", "function": "ldv_rtc_class_scenario_19"} */
    2676           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    2677           1 :  int (*ldv_19_callback_func_1_ptr)(struct device *);
    2678           1 :  int (*ldv_19_callback_match)(struct device *, struct device_driver *);
    2679           1 :  int (*ldv_19_callback_remove)(struct device *);
    2680           1 :  int (*ldv_19_callback_resume)(struct device *);
    2681           1 :  ssize_t (*ldv_19_callback_show)(struct device *, struct device_attribute *, char *);
    2682           1 :  int (*ldv_19_callback_suspend)(struct device *, pm_message_t );
    2683           1 :  int (*ldv_19_callback_uevent)(struct device *, struct kobj_uevent_env *);
    2684           1 :  struct device *ldv_19_device_device;
    2685           1 :  struct device_attribute *ldv_19_device_struct_device_attribute;
    2686           1 :  struct device_driver *ldv_19_device_struct_device_driver_ptr;
    2687           1 :  struct kobj_uevent_env *ldv_19_device_struct_kobj_uevent_env_ptr;
    2688           1 :  struct pm_message ldv_19_device_struct_pm_message;
    2689           1 :  char *ldv_19_ldv_param_18_2_default;
    2690           1 :  int ldv_19_ret_default;
    2691           1 :  struct rtc_class_ops *ldv_19_rtc_class_ops_rtc_class_ops;
    2692           1 :  struct rtc_device *ldv_19_rtc_device_rtc_device;
    2693           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    2694           1 :  /* Initialize automaton variables */
    2695           2 :  ldv_19_ret_default = 1;
    2696           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Begin RTC callbacks invocations scenario."} */
    2697           3 :  ldv_free(arg0);
    2698           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_END"} */
    2699           1 : 
    2700           1 :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
    2701           4 :  ldv_19_rtc_device_rtc_device = ldv_xmalloc_unknown_size(0);
    2702           3 :  ldv_19_rtc_class_ops_rtc_class_ops = ldv_xmalloc_unknown_size(0);
    2703           3 :  ldv_19_device_device = ldv_xmalloc_unknown_size(0);
    2704           3 :  ldv_19_device_struct_device_attribute = ldv_xmalloc_unknown_size(0);
    2705           3 :  ldv_19_device_struct_device_driver_ptr = ldv_xmalloc_unknown_size(0);
    2706           3 :  ldv_19_device_struct_kobj_uevent_env_ptr = ldv_xmalloc_unknown_size(0);
    2707             :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_END"} */
    2708             : 
    2709             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    2710             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    2711             : 
    2712             :  /* Jump to a subprocess 'main' initial state */
    2713           1 :  goto ldv_main_19;
    2714             :  /* End of the process */
    2715             :  return;
    2716           1 : 
    2717             :  /* Sbprocess main */
    2718             :  ldv_main_19:
    2719             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    2720             : 
    2721           4 :  if (ldv_undef_int()) {
    2722             :   /* LDV {"action": "PROBE", "type": "CALL_BEGIN", "callback": true, "comment": "Probe a new RTC device. Invoke callback probe from RTC."} */
    2723             :   /* Callback pre-call */
    2724           1 :   ldv_pre_probe();
    2725           3 :   if (ldv_19_rtc_class_ops_rtc_class_ops->open) {
    2726             :   /* LDV {"type": "CALLBACK", "call": "ldv_19_ret_default = (ldv_19_rtc_class_ops_rtc_class_ops->open)(ldv_19_device_device);", "comment": "probe"} */
    2727           2 :    ldv_19_ret_default = ldv_rtc_class_scenario_probe_19_11(ldv_19_rtc_class_ops_rtc_class_ops->open, ldv_19_device_device);
    2728             :   }
    2729             :   /* Callback post-call */
    2730           4 :   ldv_19_ret_default = ldv_post_probe(ldv_19_ret_default);
    2731             :   /* LDV {"action": "PROBE", "type": "CALL_END"} */
    2732             : 
    2733           4 :   if (ldv_undef_int()) {
    2734             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_BEGIN", "comment": "The RTC device has been successfully probed."} */
    2735           2 :    ldv_assume(ldv_19_ret_default == 0);
    2736             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_END"} */
    2737             : 
    2738             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    2739             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    2740             : 
    2741             :    /* Jump to a subprocess 'call' initial state */
    2742           1 :    goto ldv_call_19;
    2743             :   }
    2744             :   else {
    2745             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_BEGIN", "comment": "Failed to probe the RTC device."} */
    2746           2 :    ldv_assume(ldv_19_ret_default != 0);
    2747             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_END"} */
    2748             : 
    2749             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    2750             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    2751             : 
    2752             :    /* Jump to a subprocess 'main' initial state */
    2753           1 :    goto ldv_main_19;
    2754             :   }
    2755             :  }
    2756             :  else {
    2757             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
    2758           2 :   ldv_free(ldv_19_rtc_device_rtc_device);
    2759             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_END"} */
    2760             : 
    2761             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Finish RTC callbacks invocations scenario."} */
    2762             :   /* Skip a non-replicative signal receiving */
    2763             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_END"} */
    2764             : 
    2765             :   /* Exit function at a terminal state */
    2766           1 :   return;
    2767             :  }
    2768             :  /* End of the subprocess 'main' */
    2769             :  return;
    2770           1 : 
    2771             :  /* Sbprocess call */
    2772             :  ldv_call_19:
    2773             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    2774             : 
    2775           2 :  switch (ldv_undef_int()) {
    2776           3 :   case 1: {
    2777             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback uevent from bus_type."} */
    2778             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_uevent))(ldv_19_device_device, ldv_19_device_struct_kobj_uevent_env_ptr);", "comment": "callback"} */
    2779           2 :    ldv_rtc_class_scenario_callback_19_22(ldv_19_callback_uevent, ldv_19_device_device, ldv_19_device_struct_kobj_uevent_env_ptr);
    2780             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2781             : 
    2782             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    2783             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    2784             : 
    2785             :    /* Jump to a subprocess 'call' initial state */
    2786           1 :    goto ldv_call_19;
    2787           1 :    break;
    2788             :   }
    2789           3 :   case 2: {
    2790             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback suspend from bus_type."} */
    2791             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_suspend))(ldv_19_device_device, ldv_19_device_struct_pm_message);", "comment": "callback"} */
    2792           2 :    ldv_rtc_class_scenario_callback_19_21(ldv_19_callback_suspend, ldv_19_device_device, ldv_19_device_struct_pm_message);
    2793             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2794             : 
    2795             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    2796             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    2797             : 
    2798             :    /* Jump to a subprocess 'call' initial state */
    2799           1 :    goto ldv_call_19;
    2800             :    /* Jump to a subprocess 'call' initial state */
    2801             :    goto ldv_call_19;
    2802           1 :    break;
    2803             :   }
    2804           3 :   case 3: {
    2805             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    2806           3 :    ldv_19_ldv_param_18_2_default = ldv_xmalloc_unknown_size(0);
    2807             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_END"} */
    2808             : 
    2809             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback show from device_attribute."} */
    2810             :    /* LDV {"type": "CALLBACK", "call": "((& modalias_show))(ldv_19_device_device, ldv_19_device_struct_device_attribute, ldv_19_ldv_param_18_2_default);", "comment": "callback"} */
    2811           2 :    ldv_rtc_class_scenario_callback_19_18(ldv_19_callback_show, ldv_19_device_device, ldv_19_device_struct_device_attribute, ldv_19_ldv_param_18_2_default);
    2812             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2813             : 
    2814             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    2815           2 :    ldv_free(ldv_19_ldv_param_18_2_default);
    2816             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_END"} */
    2817             : 
    2818             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    2819             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    2820             : 
    2821             :    /* Jump to a subprocess 'call' initial state */
    2822           1 :    goto ldv_call_19;
    2823             :    /* Jump to a subprocess 'call' initial state */
    2824             :    goto ldv_call_19;
    2825             :    /* Jump to a subprocess 'call' initial state */
    2826             :    goto ldv_call_19;
    2827           1 :    break;
    2828             :   }
    2829           3 :   case 4: {
    2830             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback resume from bus_type."} */
    2831             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_resume))(ldv_19_device_device);", "comment": "callback"} */
    2832           2 :    ldv_rtc_class_scenario_callback_19_17(ldv_19_callback_resume, ldv_19_device_device);
    2833             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2834             : 
    2835             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    2836             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    2837             : 
    2838             :    /* Jump to a subprocess 'call' initial state */
    2839           1 :    goto ldv_call_19;
    2840             :    /* Jump to a subprocess 'call' initial state */
    2841             :    goto ldv_call_19;
    2842             :    /* Jump to a subprocess 'call' initial state */
    2843             :    goto ldv_call_19;
    2844             :    /* Jump to a subprocess 'call' initial state */
    2845             :    goto ldv_call_19;
    2846           1 :    break;
    2847             :   }
    2848           3 :   case 5: {
    2849             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback remove from bus_type."} */
    2850             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_remove))(ldv_19_device_device);", "comment": "callback"} */
    2851           2 :    ldv_rtc_class_scenario_callback_19_16(ldv_19_callback_remove, ldv_19_device_device);
    2852             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2853             : 
    2854             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    2855             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    2856             : 
    2857             :    /* Jump to a subprocess 'call' initial state */
    2858           1 :    goto ldv_call_19;
    2859             :    /* Jump to a subprocess 'call' initial state */
    2860             :    goto ldv_call_19;
    2861             :    /* Jump to a subprocess 'call' initial state */
    2862             :    goto ldv_call_19;
    2863             :    /* Jump to a subprocess 'call' initial state */
    2864             :    goto ldv_call_19;
    2865             :    /* Jump to a subprocess 'call' initial state */
    2866             :    goto ldv_call_19;
    2867           1 :    break;
    2868             :   }
    2869           3 :   case 6: {
    2870             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback match from bus_type."} */
    2871             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_match))(ldv_19_device_device, ldv_19_device_struct_device_driver_ptr);", "comment": "callback"} */
    2872           2 :    ldv_rtc_class_scenario_callback_19_15(ldv_19_callback_match, ldv_19_device_device, ldv_19_device_struct_device_driver_ptr);
    2873             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2874             : 
    2875             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    2876             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    2877             : 
    2878             :    /* Jump to a subprocess 'call' initial state */
    2879           1 :    goto ldv_call_19;
    2880             :    /* Jump to a subprocess 'call' initial state */
    2881             :    goto ldv_call_19;
    2882             :    /* Jump to a subprocess 'call' initial state */
    2883             :    goto ldv_call_19;
    2884             :    /* Jump to a subprocess 'call' initial state */
    2885             :    goto ldv_call_19;
    2886             :    /* Jump to a subprocess 'call' initial state */
    2887             :    goto ldv_call_19;
    2888             :    /* Jump to a subprocess 'call' initial state */
    2889             :    goto ldv_call_19;
    2890           1 :    break;
    2891             :   }
    2892           3 :   case 7: {
    2893             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback probe from bus_type."} */
    2894             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_probe))(ldv_19_device_device);", "comment": "callback"} */
    2895           2 :    ldv_rtc_class_scenario_callback_19_4(ldv_19_callback_func_1_ptr, ldv_19_device_device);
    2896             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    2897             : 
    2898             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    2899             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    2900             : 
    2901             :    /* Jump to a subprocess 'call' initial state */
    2902           1 :    goto ldv_call_19;
    2903             :    /* Jump to a subprocess 'call' initial state */
    2904             :    goto ldv_call_19;
    2905             :    /* Jump to a subprocess 'call' initial state */
    2906             :    goto ldv_call_19;
    2907             :    /* Jump to a subprocess 'call' initial state */
    2908             :    goto ldv_call_19;
    2909             :    /* Jump to a subprocess 'call' initial state */
    2910             :    goto ldv_call_19;
    2911             :    /* Jump to a subprocess 'call' initial state */
    2912             :    goto ldv_call_19;
    2913             :    /* Jump to a subprocess 'call' initial state */
    2914             :    goto ldv_call_19;
    2915           1 :    break;
    2916             :   }
    2917           3 :   case 8: {
    2918             :    /* LDV {"action": "RELEASE", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback release from RTC."} */
    2919           3 :    if (ldv_19_rtc_class_ops_rtc_class_ops->release) {
    2920             :    /* LDV {"type": "CALLBACK", "call": "(ldv_19_rtc_class_ops_rtc_class_ops->release)(ldv_19_device_device);", "comment": "release"} */
    2921           2 :     ldv_rtc_class_scenario_release_19_2(ldv_19_rtc_class_ops_rtc_class_ops->release, ldv_19_device_device);
    2922             :    }
    2923             :    /* LDV {"action": "RELEASE", "type": "CALL_END"} */
    2924             : 
    2925             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    2926             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    2927             : 
    2928             :    /* Jump to a subprocess 'main' initial state */
    2929           2 :    goto ldv_main_19;
    2930           1 :    break;
    2931             :   }
    2932           2 :   default: ldv_stop();
    2933           1 :  }
    2934           0 :  /* End of the subprocess 'call' */
    2935           0 :  return;
    2936             :  /* LDV {"comment": "End of control function based on process 'rtc_class_scenario(rtc)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_rtc_class_scenario_19"} */
    2937             : }
    2938             : 
    2939             : /* AUX_FUNC ldv_rtc_class_scenario_20 */
    2940             : void ldv_rtc_class_scenario_20(void *arg0) {
    2941             :  /* LDV {"thread": 20, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'rtc_class_scenario(rtc)'", "function": "ldv_rtc_class_scenario_20"} */
    2942           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    2943           1 :  int (*ldv_20_callback_func_1_ptr)(struct device *);
    2944           1 :  int (*ldv_20_callback_match)(struct device *, struct device_driver *);
    2945           1 :  int (*ldv_20_callback_remove)(struct device *);
    2946           1 :  int (*ldv_20_callback_resume)(struct device *);
    2947           1 :  ssize_t (*ldv_20_callback_show)(struct device *, struct device_attribute *, char *);
    2948           1 :  int (*ldv_20_callback_suspend)(struct device *, pm_message_t );
    2949           1 :  int (*ldv_20_callback_uevent)(struct device *, struct kobj_uevent_env *);
    2950           1 :  struct device *ldv_20_device_device;
    2951           1 :  struct device_attribute *ldv_20_device_struct_device_attribute;
    2952           1 :  struct device_driver *ldv_20_device_struct_device_driver_ptr;
    2953           1 :  struct kobj_uevent_env *ldv_20_device_struct_kobj_uevent_env_ptr;
    2954           1 :  struct pm_message ldv_20_device_struct_pm_message;
    2955           1 :  char *ldv_20_ldv_param_18_2_default;
    2956           1 :  int ldv_20_ret_default;
    2957           1 :  struct rtc_class_ops *ldv_20_rtc_class_ops_rtc_class_ops;
    2958           1 :  struct rtc_device *ldv_20_rtc_device_rtc_device;
    2959           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    2960           1 :  /* Initialize automaton variables */
    2961           2 :  ldv_20_ret_default = 1;
    2962           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Begin RTC callbacks invocations scenario."} */
    2963           3 :  ldv_free(arg0);
    2964           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_END"} */
    2965           1 : 
    2966           1 :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
    2967           4 :  ldv_20_rtc_device_rtc_device = ldv_xmalloc_unknown_size(0);
    2968           3 :  ldv_20_rtc_class_ops_rtc_class_ops = ldv_xmalloc_unknown_size(0);
    2969           3 :  ldv_20_device_device = ldv_xmalloc_unknown_size(0);
    2970           3 :  ldv_20_device_struct_device_attribute = ldv_xmalloc_unknown_size(0);
    2971           3 :  ldv_20_device_struct_device_driver_ptr = ldv_xmalloc_unknown_size(0);
    2972           3 :  ldv_20_device_struct_kobj_uevent_env_ptr = ldv_xmalloc_unknown_size(0);
    2973             :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_END"} */
    2974             : 
    2975             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    2976             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    2977             : 
    2978             :  /* Jump to a subprocess 'main' initial state */
    2979           1 :  goto ldv_main_20;
    2980             :  /* End of the process */
    2981             :  return;
    2982           1 : 
    2983             :  /* Sbprocess main */
    2984             :  ldv_main_20:
    2985             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    2986             : 
    2987           4 :  if (ldv_undef_int()) {
    2988             :   /* LDV {"action": "PROBE", "type": "CALL_BEGIN", "callback": true, "comment": "Probe a new RTC device. Invoke callback probe from RTC."} */
    2989             :   /* Callback pre-call */
    2990           1 :   ldv_pre_probe();
    2991           3 :   if (ldv_20_rtc_class_ops_rtc_class_ops->open) {
    2992             :   /* LDV {"type": "CALLBACK", "call": "ldv_20_ret_default = (ldv_20_rtc_class_ops_rtc_class_ops->open)(ldv_20_device_device);", "comment": "probe"} */
    2993           2 :    ldv_20_ret_default = ldv_rtc_class_scenario_probe_20_11(ldv_20_rtc_class_ops_rtc_class_ops->open, ldv_20_device_device);
    2994             :   }
    2995             :   /* Callback post-call */
    2996           4 :   ldv_20_ret_default = ldv_post_probe(ldv_20_ret_default);
    2997             :   /* LDV {"action": "PROBE", "type": "CALL_END"} */
    2998             : 
    2999           4 :   if (ldv_undef_int()) {
    3000             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_BEGIN", "comment": "The RTC device has been successfully probed."} */
    3001           2 :    ldv_assume(ldv_20_ret_default == 0);
    3002             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_END"} */
    3003             : 
    3004             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    3005             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3006             : 
    3007             :    /* Jump to a subprocess 'call' initial state */
    3008           1 :    goto ldv_call_20;
    3009             :   }
    3010             :   else {
    3011             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_BEGIN", "comment": "Failed to probe the RTC device."} */
    3012           2 :    ldv_assume(ldv_20_ret_default != 0);
    3013             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_END"} */
    3014             : 
    3015             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    3016             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    3017             : 
    3018             :    /* Jump to a subprocess 'main' initial state */
    3019           1 :    goto ldv_main_20;
    3020             :   }
    3021             :  }
    3022             :  else {
    3023             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
    3024           2 :   ldv_free(ldv_20_rtc_device_rtc_device);
    3025             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_END"} */
    3026             : 
    3027             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Finish RTC callbacks invocations scenario."} */
    3028             :   /* Skip a non-replicative signal receiving */
    3029             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_END"} */
    3030             : 
    3031             :   /* Exit function at a terminal state */
    3032           1 :   return;
    3033             :  }
    3034             :  /* End of the subprocess 'main' */
    3035             :  return;
    3036           1 : 
    3037             :  /* Sbprocess call */
    3038             :  ldv_call_20:
    3039             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    3040             : 
    3041           2 :  switch (ldv_undef_int()) {
    3042           3 :   case 1: {
    3043             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback uevent from bus_type."} */
    3044             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_uevent))(ldv_20_device_device, ldv_20_device_struct_kobj_uevent_env_ptr);", "comment": "callback"} */
    3045           2 :    ldv_rtc_class_scenario_callback_20_22(ldv_20_callback_uevent, ldv_20_device_device, ldv_20_device_struct_kobj_uevent_env_ptr);
    3046             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    3047             : 
    3048             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    3049             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3050             : 
    3051             :    /* Jump to a subprocess 'call' initial state */
    3052           1 :    goto ldv_call_20;
    3053           1 :    break;
    3054             :   }
    3055           3 :   case 2: {
    3056             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback suspend from bus_type."} */
    3057             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_suspend))(ldv_20_device_device, ldv_20_device_struct_pm_message);", "comment": "callback"} */
    3058           2 :    ldv_rtc_class_scenario_callback_20_21(ldv_20_callback_suspend, ldv_20_device_device, ldv_20_device_struct_pm_message);
    3059             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    3060             : 
    3061             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    3062             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3063             : 
    3064             :    /* Jump to a subprocess 'call' initial state */
    3065           1 :    goto ldv_call_20;
    3066             :    /* Jump to a subprocess 'call' initial state */
    3067             :    goto ldv_call_20;
    3068           1 :    break;
    3069             :   }
    3070           3 :   case 3: {
    3071             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    3072           3 :    ldv_20_ldv_param_18_2_default = ldv_xmalloc_unknown_size(0);
    3073             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_END"} */
    3074             : 
    3075             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback show from device_attribute."} */
    3076             :    /* LDV {"type": "CALLBACK", "call": "((& vendor_show))(ldv_20_device_device, ldv_20_device_struct_device_attribute, ldv_20_ldv_param_18_2_default);", "comment": "callback"} */
    3077           2 :    ldv_rtc_class_scenario_callback_20_18(ldv_20_callback_show, ldv_20_device_device, ldv_20_device_struct_device_attribute, ldv_20_ldv_param_18_2_default);
    3078             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    3079             : 
    3080             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    3081           2 :    ldv_free(ldv_20_ldv_param_18_2_default);
    3082             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_END"} */
    3083             : 
    3084             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    3085             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3086             : 
    3087             :    /* Jump to a subprocess 'call' initial state */
    3088           1 :    goto ldv_call_20;
    3089             :    /* Jump to a subprocess 'call' initial state */
    3090             :    goto ldv_call_20;
    3091             :    /* Jump to a subprocess 'call' initial state */
    3092             :    goto ldv_call_20;
    3093           1 :    break;
    3094             :   }
    3095           3 :   case 4: {
    3096             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback resume from bus_type."} */
    3097             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_resume))(ldv_20_device_device);", "comment": "callback"} */
    3098           2 :    ldv_rtc_class_scenario_callback_20_17(ldv_20_callback_resume, ldv_20_device_device);
    3099             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    3100             : 
    3101             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    3102             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3103             : 
    3104             :    /* Jump to a subprocess 'call' initial state */
    3105           1 :    goto ldv_call_20;
    3106             :    /* Jump to a subprocess 'call' initial state */
    3107             :    goto ldv_call_20;
    3108             :    /* Jump to a subprocess 'call' initial state */
    3109             :    goto ldv_call_20;
    3110             :    /* Jump to a subprocess 'call' initial state */
    3111             :    goto ldv_call_20;
    3112           1 :    break;
    3113             :   }
    3114           3 :   case 5: {
    3115             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback remove from bus_type."} */
    3116             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_remove))(ldv_20_device_device);", "comment": "callback"} */
    3117           2 :    ldv_rtc_class_scenario_callback_20_16(ldv_20_callback_remove, ldv_20_device_device);
    3118             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    3119             : 
    3120             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    3121             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3122             : 
    3123             :    /* Jump to a subprocess 'call' initial state */
    3124           1 :    goto ldv_call_20;
    3125             :    /* Jump to a subprocess 'call' initial state */
    3126             :    goto ldv_call_20;
    3127             :    /* Jump to a subprocess 'call' initial state */
    3128             :    goto ldv_call_20;
    3129             :    /* Jump to a subprocess 'call' initial state */
    3130             :    goto ldv_call_20;
    3131             :    /* Jump to a subprocess 'call' initial state */
    3132             :    goto ldv_call_20;
    3133           1 :    break;
    3134             :   }
    3135           3 :   case 6: {
    3136             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback match from bus_type."} */
    3137             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_match))(ldv_20_device_device, ldv_20_device_struct_device_driver_ptr);", "comment": "callback"} */
    3138           2 :    ldv_rtc_class_scenario_callback_20_15(ldv_20_callback_match, ldv_20_device_device, ldv_20_device_struct_device_driver_ptr);
    3139             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    3140             : 
    3141             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    3142             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3143             : 
    3144             :    /* Jump to a subprocess 'call' initial state */
    3145           1 :    goto ldv_call_20;
    3146             :    /* Jump to a subprocess 'call' initial state */
    3147             :    goto ldv_call_20;
    3148             :    /* Jump to a subprocess 'call' initial state */
    3149             :    goto ldv_call_20;
    3150             :    /* Jump to a subprocess 'call' initial state */
    3151             :    goto ldv_call_20;
    3152             :    /* Jump to a subprocess 'call' initial state */
    3153             :    goto ldv_call_20;
    3154             :    /* Jump to a subprocess 'call' initial state */
    3155             :    goto ldv_call_20;
    3156           1 :    break;
    3157             :   }
    3158           3 :   case 7: {
    3159             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback probe from bus_type."} */
    3160             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_probe))(ldv_20_device_device);", "comment": "callback"} */
    3161           2 :    ldv_rtc_class_scenario_callback_20_4(ldv_20_callback_func_1_ptr, ldv_20_device_device);
    3162             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    3163             : 
    3164             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    3165             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3166             : 
    3167             :    /* Jump to a subprocess 'call' initial state */
    3168           1 :    goto ldv_call_20;
    3169             :    /* Jump to a subprocess 'call' initial state */
    3170             :    goto ldv_call_20;
    3171             :    /* Jump to a subprocess 'call' initial state */
    3172             :    goto ldv_call_20;
    3173             :    /* Jump to a subprocess 'call' initial state */
    3174             :    goto ldv_call_20;
    3175             :    /* Jump to a subprocess 'call' initial state */
    3176             :    goto ldv_call_20;
    3177             :    /* Jump to a subprocess 'call' initial state */
    3178             :    goto ldv_call_20;
    3179             :    /* Jump to a subprocess 'call' initial state */
    3180             :    goto ldv_call_20;
    3181           1 :    break;
    3182             :   }
    3183           3 :   case 8: {
    3184             :    /* LDV {"action": "RELEASE", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback release from RTC."} */
    3185           3 :    if (ldv_20_rtc_class_ops_rtc_class_ops->release) {
    3186             :    /* LDV {"type": "CALLBACK", "call": "(ldv_20_rtc_class_ops_rtc_class_ops->release)(ldv_20_device_device);", "comment": "release"} */
    3187           2 :     ldv_rtc_class_scenario_release_20_2(ldv_20_rtc_class_ops_rtc_class_ops->release, ldv_20_device_device);
    3188             :    }
    3189             :    /* LDV {"action": "RELEASE", "type": "CALL_END"} */
    3190             : 
    3191             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    3192             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    3193             : 
    3194             :    /* Jump to a subprocess 'main' initial state */
    3195           2 :    goto ldv_main_20;
    3196           1 :    break;
    3197             :   }
    3198           2 :   default: ldv_stop();
    3199           1 :  }
    3200           0 :  /* End of the subprocess 'call' */
    3201           0 :  return;
    3202             :  /* LDV {"comment": "End of control function based on process 'rtc_class_scenario(rtc)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_rtc_class_scenario_20"} */
    3203             : }
    3204             : 
    3205             : /* AUX_FUNC ldv_rtc_class_scenario_3 */
    3206             : void ldv_rtc_class_scenario_3(void *arg0) {
    3207             :  /* LDV {"thread": 3, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'rtc_class_scenario(rtc)'", "function": "ldv_rtc_class_scenario_3"} */
    3208           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    3209           1 :  int (*ldv_3_callback_func_1_ptr)(struct device *);
    3210           1 :  int (*ldv_3_callback_match)(struct device *, struct device_driver *);
    3211           1 :  int (*ldv_3_callback_remove)(struct device *);
    3212           1 :  int (*ldv_3_callback_resume)(struct device *);
    3213           1 :  ssize_t (*ldv_3_callback_show)(struct device *, struct device_attribute *, char *);
    3214           1 :  int (*ldv_3_callback_suspend)(struct device *, pm_message_t );
    3215           1 :  int (*ldv_3_callback_uevent)(struct device *, struct kobj_uevent_env *);
    3216           1 :  struct device *ldv_3_device_device;
    3217           1 :  struct device_attribute *ldv_3_device_struct_device_attribute;
    3218           1 :  struct device_driver *ldv_3_device_struct_device_driver_ptr;
    3219           1 :  struct kobj_uevent_env *ldv_3_device_struct_kobj_uevent_env_ptr;
    3220           1 :  struct pm_message ldv_3_device_struct_pm_message;
    3221           1 :  char *ldv_3_ldv_param_18_2_default;
    3222           1 :  int ldv_3_ret_default;
    3223           1 :  struct rtc_class_ops *ldv_3_rtc_class_ops_rtc_class_ops;
    3224           1 :  struct rtc_device *ldv_3_rtc_device_rtc_device;
    3225           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    3226           1 :  /* Initialize automaton variables */
    3227           2 :  ldv_3_ret_default = 1;
    3228           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Begin RTC callbacks invocations scenario."} */
    3229           3 :  ldv_free(arg0);
    3230           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_END"} */
    3231           1 : 
    3232           1 :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
    3233           4 :  ldv_3_rtc_device_rtc_device = ldv_xmalloc_unknown_size(0);
    3234           3 :  ldv_3_rtc_class_ops_rtc_class_ops = ldv_xmalloc_unknown_size(0);
    3235           3 :  ldv_3_device_device = ldv_xmalloc_unknown_size(0);
    3236           3 :  ldv_3_device_struct_device_attribute = ldv_xmalloc_unknown_size(0);
    3237           3 :  ldv_3_device_struct_device_driver_ptr = ldv_xmalloc_unknown_size(0);
    3238           3 :  ldv_3_device_struct_kobj_uevent_env_ptr = ldv_xmalloc_unknown_size(0);
    3239             :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_END"} */
    3240             : 
    3241             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    3242             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    3243             : 
    3244             :  /* Jump to a subprocess 'main' initial state */
    3245           1 :  goto ldv_main_3;
    3246             :  /* End of the process */
    3247             :  return;
    3248           1 : 
    3249             :  /* Sbprocess main */
    3250             :  ldv_main_3:
    3251             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    3252             : 
    3253           4 :  if (ldv_undef_int()) {
    3254             :   /* LDV {"action": "PROBE", "type": "CALL_BEGIN", "callback": true, "comment": "Probe a new RTC device. Invoke callback probe from RTC."} */
    3255             :   /* Callback pre-call */
    3256           1 :   ldv_pre_probe();
    3257           3 :   if (ldv_3_rtc_class_ops_rtc_class_ops->open) {
    3258             :   /* LDV {"type": "CALLBACK", "call": "ldv_3_ret_default = (ldv_3_rtc_class_ops_rtc_class_ops->open)(ldv_3_device_device);", "comment": "probe"} */
    3259           2 :    ldv_3_ret_default = ldv_rtc_class_scenario_probe_3_11(ldv_3_rtc_class_ops_rtc_class_ops->open, ldv_3_device_device);
    3260             :   }
    3261             :   /* Callback post-call */
    3262           4 :   ldv_3_ret_default = ldv_post_probe(ldv_3_ret_default);
    3263             :   /* LDV {"action": "PROBE", "type": "CALL_END"} */
    3264             : 
    3265           4 :   if (ldv_undef_int()) {
    3266             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_BEGIN", "comment": "The RTC device has been successfully probed."} */
    3267           2 :    ldv_assume(ldv_3_ret_default == 0);
    3268             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_END"} */
    3269             : 
    3270             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    3271             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3272             : 
    3273             :    /* Jump to a subprocess 'call' initial state */
    3274           1 :    goto ldv_call_3;
    3275             :   }
    3276             :   else {
    3277             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_BEGIN", "comment": "Failed to probe the RTC device."} */
    3278           2 :    ldv_assume(ldv_3_ret_default != 0);
    3279             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_END"} */
    3280             : 
    3281             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    3282             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    3283             : 
    3284             :    /* Jump to a subprocess 'main' initial state */
    3285           1 :    goto ldv_main_3;
    3286             :   }
    3287             :  }
    3288             :  else {
    3289             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
    3290           2 :   ldv_free(ldv_3_rtc_device_rtc_device);
    3291             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_END"} */
    3292             : 
    3293             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Finish RTC callbacks invocations scenario."} */
    3294             :   /* Skip a non-replicative signal receiving */
    3295             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_END"} */
    3296             : 
    3297             :   /* Exit function at a terminal state */
    3298           1 :   return;
    3299             :  }
    3300             :  /* End of the subprocess 'main' */
    3301             :  return;
    3302           1 : 
    3303             :  /* Sbprocess call */
    3304             :  ldv_call_3:
    3305             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    3306             : 
    3307           2 :  switch (ldv_undef_int()) {
    3308           3 :   case 1: {
    3309             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback uevent from bus_type."} */
    3310             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_uevent))(ldv_3_device_device, ldv_3_device_struct_kobj_uevent_env_ptr);", "comment": "callback"} */
    3311           2 :    ldv_rtc_class_scenario_callback_3_22(ldv_3_callback_uevent, ldv_3_device_device, ldv_3_device_struct_kobj_uevent_env_ptr);
    3312             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    3313             : 
    3314             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    3315             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3316             : 
    3317             :    /* Jump to a subprocess 'call' initial state */
    3318           1 :    goto ldv_call_3;
    3319           1 :    break;
    3320             :   }
    3321           3 :   case 2: {
    3322             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback suspend from bus_type."} */
    3323             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_suspend))(ldv_3_device_device, ldv_3_device_struct_pm_message);", "comment": "callback"} */
    3324           2 :    ldv_rtc_class_scenario_callback_3_21(ldv_3_callback_suspend, ldv_3_device_device, ldv_3_device_struct_pm_message);
    3325             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    3326             : 
    3327             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    3328             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3329             : 
    3330             :    /* Jump to a subprocess 'call' initial state */
    3331           1 :    goto ldv_call_3;
    3332             :    /* Jump to a subprocess 'call' initial state */
    3333             :    goto ldv_call_3;
    3334           1 :    break;
    3335             :   }
    3336           3 :   case 3: {
    3337             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    3338           3 :    ldv_3_ldv_param_18_2_default = ldv_xmalloc_unknown_size(0);
    3339             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_END"} */
    3340             : 
    3341             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback show from device_attribute."} */
    3342             :    /* LDV {"type": "CALLBACK", "call": "((& class_show))(ldv_3_device_device, ldv_3_device_struct_device_attribute, ldv_3_ldv_param_18_2_default);", "comment": "callback"} */
    3343           2 :    ldv_rtc_class_scenario_callback_3_18(ldv_3_callback_show, ldv_3_device_device, ldv_3_device_struct_device_attribute, ldv_3_ldv_param_18_2_default);
    3344             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    3345             : 
    3346             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    3347           2 :    ldv_free(ldv_3_ldv_param_18_2_default);
    3348             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_END"} */
    3349             : 
    3350             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    3351             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3352             : 
    3353             :    /* Jump to a subprocess 'call' initial state */
    3354           1 :    goto ldv_call_3;
    3355             :    /* Jump to a subprocess 'call' initial state */
    3356             :    goto ldv_call_3;
    3357             :    /* Jump to a subprocess 'call' initial state */
    3358             :    goto ldv_call_3;
    3359           1 :    break;
    3360             :   }
    3361           3 :   case 4: {
    3362             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback resume from bus_type."} */
    3363             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_resume))(ldv_3_device_device);", "comment": "callback"} */
    3364           2 :    ldv_rtc_class_scenario_callback_3_17(ldv_3_callback_resume, ldv_3_device_device);
    3365             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    3366             : 
    3367             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    3368             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3369             : 
    3370             :    /* Jump to a subprocess 'call' initial state */
    3371           1 :    goto ldv_call_3;
    3372             :    /* Jump to a subprocess 'call' initial state */
    3373             :    goto ldv_call_3;
    3374             :    /* Jump to a subprocess 'call' initial state */
    3375             :    goto ldv_call_3;
    3376             :    /* Jump to a subprocess 'call' initial state */
    3377             :    goto ldv_call_3;
    3378           1 :    break;
    3379             :   }
    3380           3 :   case 5: {
    3381             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback remove from bus_type."} */
    3382             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_remove))(ldv_3_device_device);", "comment": "callback"} */
    3383           2 :    ldv_rtc_class_scenario_callback_3_16(ldv_3_callback_remove, ldv_3_device_device);
    3384             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    3385             : 
    3386             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    3387             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3388             : 
    3389             :    /* Jump to a subprocess 'call' initial state */
    3390           1 :    goto ldv_call_3;
    3391             :    /* Jump to a subprocess 'call' initial state */
    3392             :    goto ldv_call_3;
    3393             :    /* Jump to a subprocess 'call' initial state */
    3394             :    goto ldv_call_3;
    3395             :    /* Jump to a subprocess 'call' initial state */
    3396             :    goto ldv_call_3;
    3397             :    /* Jump to a subprocess 'call' initial state */
    3398             :    goto ldv_call_3;
    3399           1 :    break;
    3400             :   }
    3401           3 :   case 6: {
    3402             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback match from bus_type."} */
    3403             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_match))(ldv_3_device_device, ldv_3_device_struct_device_driver_ptr);", "comment": "callback"} */
    3404           2 :    ldv_rtc_class_scenario_callback_3_15(ldv_3_callback_match, ldv_3_device_device, ldv_3_device_struct_device_driver_ptr);
    3405             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    3406             : 
    3407             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    3408             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3409             : 
    3410             :    /* Jump to a subprocess 'call' initial state */
    3411           1 :    goto ldv_call_3;
    3412             :    /* Jump to a subprocess 'call' initial state */
    3413             :    goto ldv_call_3;
    3414             :    /* Jump to a subprocess 'call' initial state */
    3415             :    goto ldv_call_3;
    3416             :    /* Jump to a subprocess 'call' initial state */
    3417             :    goto ldv_call_3;
    3418             :    /* Jump to a subprocess 'call' initial state */
    3419             :    goto ldv_call_3;
    3420             :    /* Jump to a subprocess 'call' initial state */
    3421             :    goto ldv_call_3;
    3422           1 :    break;
    3423             :   }
    3424           3 :   case 7: {
    3425             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback probe from bus_type."} */
    3426             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_probe))(ldv_3_device_device);", "comment": "callback"} */
    3427           2 :    ldv_rtc_class_scenario_callback_3_4(ldv_3_callback_func_1_ptr, ldv_3_device_device);
    3428             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    3429             : 
    3430             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    3431             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3432             : 
    3433             :    /* Jump to a subprocess 'call' initial state */
    3434           1 :    goto ldv_call_3;
    3435             :    /* Jump to a subprocess 'call' initial state */
    3436             :    goto ldv_call_3;
    3437             :    /* Jump to a subprocess 'call' initial state */
    3438             :    goto ldv_call_3;
    3439             :    /* Jump to a subprocess 'call' initial state */
    3440             :    goto ldv_call_3;
    3441             :    /* Jump to a subprocess 'call' initial state */
    3442             :    goto ldv_call_3;
    3443             :    /* Jump to a subprocess 'call' initial state */
    3444             :    goto ldv_call_3;
    3445             :    /* Jump to a subprocess 'call' initial state */
    3446             :    goto ldv_call_3;
    3447           1 :    break;
    3448             :   }
    3449           3 :   case 8: {
    3450             :    /* LDV {"action": "RELEASE", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback release from RTC."} */
    3451           3 :    if (ldv_3_rtc_class_ops_rtc_class_ops->release) {
    3452             :    /* LDV {"type": "CALLBACK", "call": "(ldv_3_rtc_class_ops_rtc_class_ops->release)(ldv_3_device_device);", "comment": "release"} */
    3453           2 :     ldv_rtc_class_scenario_release_3_2(ldv_3_rtc_class_ops_rtc_class_ops->release, ldv_3_device_device);
    3454             :    }
    3455             :    /* LDV {"action": "RELEASE", "type": "CALL_END"} */
    3456             : 
    3457             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    3458             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    3459             : 
    3460             :    /* Jump to a subprocess 'main' initial state */
    3461           2 :    goto ldv_main_3;
    3462           1 :    break;
    3463             :   }
    3464           2 :   default: ldv_stop();
    3465           1 :  }
    3466           0 :  /* End of the subprocess 'call' */
    3467           0 :  return;
    3468             :  /* LDV {"comment": "End of control function based on process 'rtc_class_scenario(rtc)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_rtc_class_scenario_3"} */
    3469             : }
    3470             : 
    3471             : /* AUX_FUNC ldv_rtc_class_scenario_4 */
    3472             : void ldv_rtc_class_scenario_4(void *arg0) {
    3473             :  /* LDV {"thread": 4, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'rtc_class_scenario(rtc)'", "function": "ldv_rtc_class_scenario_4"} */
    3474           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    3475           1 :  int (*ldv_4_callback_func_1_ptr)(struct device *);
    3476           1 :  int (*ldv_4_callback_match)(struct device *, struct device_driver *);
    3477           1 :  int (*ldv_4_callback_remove)(struct device *);
    3478           1 :  int (*ldv_4_callback_resume)(struct device *);
    3479           1 :  ssize_t (*ldv_4_callback_show)(struct device *, struct device_attribute *, char *);
    3480           1 :  int (*ldv_4_callback_suspend)(struct device *, pm_message_t );
    3481           1 :  int (*ldv_4_callback_uevent)(struct device *, struct kobj_uevent_env *);
    3482           1 :  struct device *ldv_4_device_device;
    3483           1 :  struct device_attribute *ldv_4_device_struct_device_attribute;
    3484           1 :  struct device_driver *ldv_4_device_struct_device_driver_ptr;
    3485           1 :  struct kobj_uevent_env *ldv_4_device_struct_kobj_uevent_env_ptr;
    3486           1 :  struct pm_message ldv_4_device_struct_pm_message;
    3487           1 :  char *ldv_4_ldv_param_18_2_default;
    3488           1 :  int ldv_4_ret_default;
    3489           1 :  struct rtc_class_ops *ldv_4_rtc_class_ops_rtc_class_ops;
    3490           1 :  struct rtc_device *ldv_4_rtc_device_rtc_device;
    3491           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    3492           1 :  /* Initialize automaton variables */
    3493           2 :  ldv_4_ret_default = 1;
    3494           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Begin RTC callbacks invocations scenario."} */
    3495           3 :  ldv_free(arg0);
    3496           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_END"} */
    3497           1 : 
    3498           1 :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
    3499           4 :  ldv_4_rtc_device_rtc_device = ldv_xmalloc_unknown_size(0);
    3500           3 :  ldv_4_rtc_class_ops_rtc_class_ops = ldv_xmalloc_unknown_size(0);
    3501           3 :  ldv_4_device_device = ldv_xmalloc_unknown_size(0);
    3502           3 :  ldv_4_device_struct_device_attribute = ldv_xmalloc_unknown_size(0);
    3503           3 :  ldv_4_device_struct_device_driver_ptr = ldv_xmalloc_unknown_size(0);
    3504           3 :  ldv_4_device_struct_kobj_uevent_env_ptr = ldv_xmalloc_unknown_size(0);
    3505             :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_END"} */
    3506             : 
    3507             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    3508             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    3509             : 
    3510             :  /* Jump to a subprocess 'main' initial state */
    3511           1 :  goto ldv_main_4;
    3512             :  /* End of the process */
    3513             :  return;
    3514           1 : 
    3515             :  /* Sbprocess main */
    3516             :  ldv_main_4:
    3517             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    3518             : 
    3519           4 :  if (ldv_undef_int()) {
    3520             :   /* LDV {"action": "PROBE", "type": "CALL_BEGIN", "callback": true, "comment": "Probe a new RTC device. Invoke callback probe from RTC."} */
    3521             :   /* Callback pre-call */
    3522           1 :   ldv_pre_probe();
    3523           3 :   if (ldv_4_rtc_class_ops_rtc_class_ops->open) {
    3524             :   /* LDV {"type": "CALLBACK", "call": "ldv_4_ret_default = (ldv_4_rtc_class_ops_rtc_class_ops->open)(ldv_4_device_device);", "comment": "probe"} */
    3525           2 :    ldv_4_ret_default = ldv_rtc_class_scenario_probe_4_11(ldv_4_rtc_class_ops_rtc_class_ops->open, ldv_4_device_device);
    3526             :   }
    3527             :   /* Callback post-call */
    3528           4 :   ldv_4_ret_default = ldv_post_probe(ldv_4_ret_default);
    3529             :   /* LDV {"action": "PROBE", "type": "CALL_END"} */
    3530             : 
    3531           4 :   if (ldv_undef_int()) {
    3532             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_BEGIN", "comment": "The RTC device has been successfully probed."} */
    3533           2 :    ldv_assume(ldv_4_ret_default == 0);
    3534             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_END"} */
    3535             : 
    3536             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    3537             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3538             : 
    3539             :    /* Jump to a subprocess 'call' initial state */
    3540           1 :    goto ldv_call_4;
    3541             :   }
    3542             :   else {
    3543             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_BEGIN", "comment": "Failed to probe the RTC device."} */
    3544           2 :    ldv_assume(ldv_4_ret_default != 0);
    3545             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_END"} */
    3546             : 
    3547             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    3548             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    3549             : 
    3550             :    /* Jump to a subprocess 'main' initial state */
    3551           1 :    goto ldv_main_4;
    3552             :   }
    3553             :  }
    3554             :  else {
    3555             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
    3556           2 :   ldv_free(ldv_4_rtc_device_rtc_device);
    3557             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_END"} */
    3558             : 
    3559             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Finish RTC callbacks invocations scenario."} */
    3560             :   /* Skip a non-replicative signal receiving */
    3561             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_END"} */
    3562             : 
    3563             :   /* Exit function at a terminal state */
    3564           1 :   return;
    3565             :  }
    3566             :  /* End of the subprocess 'main' */
    3567             :  return;
    3568           1 : 
    3569             :  /* Sbprocess call */
    3570             :  ldv_call_4:
    3571             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    3572             : 
    3573           2 :  switch (ldv_undef_int()) {
    3574           3 :   case 1: {
    3575             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback uevent from bus_type."} */
    3576             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_uevent))(ldv_4_device_device, ldv_4_device_struct_kobj_uevent_env_ptr);", "comment": "callback"} */
    3577           2 :    ldv_rtc_class_scenario_callback_4_22(ldv_4_callback_uevent, ldv_4_device_device, ldv_4_device_struct_kobj_uevent_env_ptr);
    3578             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    3579             : 
    3580             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    3581             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3582             : 
    3583             :    /* Jump to a subprocess 'call' initial state */
    3584           1 :    goto ldv_call_4;
    3585           1 :    break;
    3586             :   }
    3587           3 :   case 2: {
    3588             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback suspend from bus_type."} */
    3589             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_suspend))(ldv_4_device_device, ldv_4_device_struct_pm_message);", "comment": "callback"} */
    3590           2 :    ldv_rtc_class_scenario_callback_4_21(ldv_4_callback_suspend, ldv_4_device_device, ldv_4_device_struct_pm_message);
    3591             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    3592             : 
    3593             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    3594             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3595             : 
    3596             :    /* Jump to a subprocess 'call' initial state */
    3597           1 :    goto ldv_call_4;
    3598             :    /* Jump to a subprocess 'call' initial state */
    3599             :    goto ldv_call_4;
    3600           1 :    break;
    3601             :   }
    3602           3 :   case 3: {
    3603             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    3604           3 :    ldv_4_ldv_param_18_2_default = ldv_xmalloc_unknown_size(0);
    3605             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_END"} */
    3606             : 
    3607             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback show from device_attribute."} */
    3608             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_csd_show))(ldv_4_device_device, ldv_4_device_struct_device_attribute, ldv_4_ldv_param_18_2_default);", "comment": "callback"} */
    3609           2 :    ldv_rtc_class_scenario_callback_4_18(ldv_4_callback_show, ldv_4_device_device, ldv_4_device_struct_device_attribute, ldv_4_ldv_param_18_2_default);
    3610             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    3611             : 
    3612             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    3613           2 :    ldv_free(ldv_4_ldv_param_18_2_default);
    3614             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_END"} */
    3615             : 
    3616             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    3617             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3618             : 
    3619             :    /* Jump to a subprocess 'call' initial state */
    3620           1 :    goto ldv_call_4;
    3621             :    /* Jump to a subprocess 'call' initial state */
    3622             :    goto ldv_call_4;
    3623             :    /* Jump to a subprocess 'call' initial state */
    3624             :    goto ldv_call_4;
    3625           1 :    break;
    3626             :   }
    3627           3 :   case 4: {
    3628             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback resume from bus_type."} */
    3629             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_resume))(ldv_4_device_device);", "comment": "callback"} */
    3630           2 :    ldv_rtc_class_scenario_callback_4_17(ldv_4_callback_resume, ldv_4_device_device);
    3631             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    3632             : 
    3633             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    3634             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3635             : 
    3636             :    /* Jump to a subprocess 'call' initial state */
    3637           1 :    goto ldv_call_4;
    3638             :    /* Jump to a subprocess 'call' initial state */
    3639             :    goto ldv_call_4;
    3640             :    /* Jump to a subprocess 'call' initial state */
    3641             :    goto ldv_call_4;
    3642             :    /* Jump to a subprocess 'call' initial state */
    3643             :    goto ldv_call_4;
    3644           1 :    break;
    3645             :   }
    3646           3 :   case 5: {
    3647             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback remove from bus_type."} */
    3648             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_remove))(ldv_4_device_device);", "comment": "callback"} */
    3649           2 :    ldv_rtc_class_scenario_callback_4_16(ldv_4_callback_remove, ldv_4_device_device);
    3650             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    3651             : 
    3652             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    3653             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3654             : 
    3655             :    /* Jump to a subprocess 'call' initial state */
    3656           1 :    goto ldv_call_4;
    3657             :    /* Jump to a subprocess 'call' initial state */
    3658             :    goto ldv_call_4;
    3659             :    /* Jump to a subprocess 'call' initial state */
    3660             :    goto ldv_call_4;
    3661             :    /* Jump to a subprocess 'call' initial state */
    3662             :    goto ldv_call_4;
    3663             :    /* Jump to a subprocess 'call' initial state */
    3664             :    goto ldv_call_4;
    3665           1 :    break;
    3666             :   }
    3667           3 :   case 6: {
    3668             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback match from bus_type."} */
    3669             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_match))(ldv_4_device_device, ldv_4_device_struct_device_driver_ptr);", "comment": "callback"} */
    3670           2 :    ldv_rtc_class_scenario_callback_4_15(ldv_4_callback_match, ldv_4_device_device, ldv_4_device_struct_device_driver_ptr);
    3671             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    3672             : 
    3673             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    3674             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3675             : 
    3676             :    /* Jump to a subprocess 'call' initial state */
    3677           1 :    goto ldv_call_4;
    3678             :    /* Jump to a subprocess 'call' initial state */
    3679             :    goto ldv_call_4;
    3680             :    /* Jump to a subprocess 'call' initial state */
    3681             :    goto ldv_call_4;
    3682             :    /* Jump to a subprocess 'call' initial state */
    3683             :    goto ldv_call_4;
    3684             :    /* Jump to a subprocess 'call' initial state */
    3685             :    goto ldv_call_4;
    3686             :    /* Jump to a subprocess 'call' initial state */
    3687             :    goto ldv_call_4;
    3688           1 :    break;
    3689             :   }
    3690           3 :   case 7: {
    3691             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback probe from bus_type."} */
    3692             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_probe))(ldv_4_device_device);", "comment": "callback"} */
    3693           2 :    ldv_rtc_class_scenario_callback_4_4(ldv_4_callback_func_1_ptr, ldv_4_device_device);
    3694             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    3695             : 
    3696             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    3697             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3698             : 
    3699             :    /* Jump to a subprocess 'call' initial state */
    3700           1 :    goto ldv_call_4;
    3701             :    /* Jump to a subprocess 'call' initial state */
    3702             :    goto ldv_call_4;
    3703             :    /* Jump to a subprocess 'call' initial state */
    3704             :    goto ldv_call_4;
    3705             :    /* Jump to a subprocess 'call' initial state */
    3706             :    goto ldv_call_4;
    3707             :    /* Jump to a subprocess 'call' initial state */
    3708             :    goto ldv_call_4;
    3709             :    /* Jump to a subprocess 'call' initial state */
    3710             :    goto ldv_call_4;
    3711             :    /* Jump to a subprocess 'call' initial state */
    3712             :    goto ldv_call_4;
    3713           1 :    break;
    3714             :   }
    3715           3 :   case 8: {
    3716             :    /* LDV {"action": "RELEASE", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback release from RTC."} */
    3717           3 :    if (ldv_4_rtc_class_ops_rtc_class_ops->release) {
    3718             :    /* LDV {"type": "CALLBACK", "call": "(ldv_4_rtc_class_ops_rtc_class_ops->release)(ldv_4_device_device);", "comment": "release"} */
    3719           2 :     ldv_rtc_class_scenario_release_4_2(ldv_4_rtc_class_ops_rtc_class_ops->release, ldv_4_device_device);
    3720             :    }
    3721             :    /* LDV {"action": "RELEASE", "type": "CALL_END"} */
    3722             : 
    3723             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    3724             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    3725             : 
    3726             :    /* Jump to a subprocess 'main' initial state */
    3727           2 :    goto ldv_main_4;
    3728           1 :    break;
    3729             :   }
    3730           2 :   default: ldv_stop();
    3731           1 :  }
    3732           0 :  /* End of the subprocess 'call' */
    3733           0 :  return;
    3734             :  /* LDV {"comment": "End of control function based on process 'rtc_class_scenario(rtc)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_rtc_class_scenario_4"} */
    3735             : }
    3736             : 
    3737             : /* AUX_FUNC ldv_rtc_class_scenario_5 */
    3738             : void ldv_rtc_class_scenario_5(void *arg0) {
    3739             :  /* LDV {"thread": 5, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'rtc_class_scenario(rtc)'", "function": "ldv_rtc_class_scenario_5"} */
    3740           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    3741           1 :  int (*ldv_5_callback_func_1_ptr)(struct device *);
    3742           1 :  int (*ldv_5_callback_match)(struct device *, struct device_driver *);
    3743           1 :  int (*ldv_5_callback_remove)(struct device *);
    3744           1 :  int (*ldv_5_callback_resume)(struct device *);
    3745           1 :  ssize_t (*ldv_5_callback_show)(struct device *, struct device_attribute *, char *);
    3746           1 :  int (*ldv_5_callback_suspend)(struct device *, pm_message_t );
    3747           1 :  int (*ldv_5_callback_uevent)(struct device *, struct kobj_uevent_env *);
    3748           1 :  struct device *ldv_5_device_device;
    3749           1 :  struct device_attribute *ldv_5_device_struct_device_attribute;
    3750           1 :  struct device_driver *ldv_5_device_struct_device_driver_ptr;
    3751           1 :  struct kobj_uevent_env *ldv_5_device_struct_kobj_uevent_env_ptr;
    3752           1 :  struct pm_message ldv_5_device_struct_pm_message;
    3753           1 :  char *ldv_5_ldv_param_18_2_default;
    3754           1 :  int ldv_5_ret_default;
    3755           1 :  struct rtc_class_ops *ldv_5_rtc_class_ops_rtc_class_ops;
    3756           1 :  struct rtc_device *ldv_5_rtc_device_rtc_device;
    3757           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    3758           1 :  /* Initialize automaton variables */
    3759           2 :  ldv_5_ret_default = 1;
    3760           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Begin RTC callbacks invocations scenario."} */
    3761           3 :  ldv_free(arg0);
    3762           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_END"} */
    3763           1 : 
    3764           1 :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
    3765           4 :  ldv_5_rtc_device_rtc_device = ldv_xmalloc_unknown_size(0);
    3766           3 :  ldv_5_rtc_class_ops_rtc_class_ops = ldv_xmalloc_unknown_size(0);
    3767           3 :  ldv_5_device_device = ldv_xmalloc_unknown_size(0);
    3768           3 :  ldv_5_device_struct_device_attribute = ldv_xmalloc_unknown_size(0);
    3769           3 :  ldv_5_device_struct_device_driver_ptr = ldv_xmalloc_unknown_size(0);
    3770           3 :  ldv_5_device_struct_kobj_uevent_env_ptr = ldv_xmalloc_unknown_size(0);
    3771             :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_END"} */
    3772             : 
    3773             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    3774             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    3775             : 
    3776             :  /* Jump to a subprocess 'main' initial state */
    3777           1 :  goto ldv_main_5;
    3778             :  /* End of the process */
    3779             :  return;
    3780           1 : 
    3781             :  /* Sbprocess main */
    3782             :  ldv_main_5:
    3783             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    3784             : 
    3785           4 :  if (ldv_undef_int()) {
    3786             :   /* LDV {"action": "PROBE", "type": "CALL_BEGIN", "callback": true, "comment": "Probe a new RTC device. Invoke callback probe from RTC."} */
    3787             :   /* Callback pre-call */
    3788           1 :   ldv_pre_probe();
    3789           3 :   if (ldv_5_rtc_class_ops_rtc_class_ops->open) {
    3790             :   /* LDV {"type": "CALLBACK", "call": "ldv_5_ret_default = (ldv_5_rtc_class_ops_rtc_class_ops->open)(ldv_5_device_device);", "comment": "probe"} */
    3791           2 :    ldv_5_ret_default = ldv_rtc_class_scenario_probe_5_11(ldv_5_rtc_class_ops_rtc_class_ops->open, ldv_5_device_device);
    3792             :   }
    3793             :   /* Callback post-call */
    3794           4 :   ldv_5_ret_default = ldv_post_probe(ldv_5_ret_default);
    3795             :   /* LDV {"action": "PROBE", "type": "CALL_END"} */
    3796             : 
    3797           4 :   if (ldv_undef_int()) {
    3798             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_BEGIN", "comment": "The RTC device has been successfully probed."} */
    3799           2 :    ldv_assume(ldv_5_ret_default == 0);
    3800             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_END"} */
    3801             : 
    3802             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    3803             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3804             : 
    3805             :    /* Jump to a subprocess 'call' initial state */
    3806           1 :    goto ldv_call_5;
    3807             :   }
    3808             :   else {
    3809             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_BEGIN", "comment": "Failed to probe the RTC device."} */
    3810           2 :    ldv_assume(ldv_5_ret_default != 0);
    3811             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_END"} */
    3812             : 
    3813             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    3814             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    3815             : 
    3816             :    /* Jump to a subprocess 'main' initial state */
    3817           1 :    goto ldv_main_5;
    3818             :   }
    3819             :  }
    3820             :  else {
    3821             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
    3822           2 :   ldv_free(ldv_5_rtc_device_rtc_device);
    3823             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_END"} */
    3824             : 
    3825             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Finish RTC callbacks invocations scenario."} */
    3826             :   /* Skip a non-replicative signal receiving */
    3827             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_END"} */
    3828             : 
    3829             :   /* Exit function at a terminal state */
    3830           1 :   return;
    3831             :  }
    3832             :  /* End of the subprocess 'main' */
    3833             :  return;
    3834           1 : 
    3835             :  /* Sbprocess call */
    3836             :  ldv_call_5:
    3837             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    3838             : 
    3839           2 :  switch (ldv_undef_int()) {
    3840           3 :   case 1: {
    3841             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback uevent from bus_type."} */
    3842             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_uevent))(ldv_5_device_device, ldv_5_device_struct_kobj_uevent_env_ptr);", "comment": "callback"} */
    3843           2 :    ldv_rtc_class_scenario_callback_5_22(ldv_5_callback_uevent, ldv_5_device_device, ldv_5_device_struct_kobj_uevent_env_ptr);
    3844             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    3845             : 
    3846             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    3847             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3848             : 
    3849             :    /* Jump to a subprocess 'call' initial state */
    3850           1 :    goto ldv_call_5;
    3851           1 :    break;
    3852             :   }
    3853           3 :   case 2: {
    3854             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback suspend from bus_type."} */
    3855             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_suspend))(ldv_5_device_device, ldv_5_device_struct_pm_message);", "comment": "callback"} */
    3856           2 :    ldv_rtc_class_scenario_callback_5_21(ldv_5_callback_suspend, ldv_5_device_device, ldv_5_device_struct_pm_message);
    3857             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    3858             : 
    3859             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    3860             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3861             : 
    3862             :    /* Jump to a subprocess 'call' initial state */
    3863           1 :    goto ldv_call_5;
    3864             :    /* Jump to a subprocess 'call' initial state */
    3865             :    goto ldv_call_5;
    3866           1 :    break;
    3867             :   }
    3868           3 :   case 3: {
    3869             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    3870           3 :    ldv_5_ldv_param_18_2_default = ldv_xmalloc_unknown_size(0);
    3871             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_END"} */
    3872             : 
    3873             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback show from device_attribute."} */
    3874             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_date_show))(ldv_5_device_device, ldv_5_device_struct_device_attribute, ldv_5_ldv_param_18_2_default);", "comment": "callback"} */
    3875           2 :    ldv_rtc_class_scenario_callback_5_18(ldv_5_callback_show, ldv_5_device_device, ldv_5_device_struct_device_attribute, ldv_5_ldv_param_18_2_default);
    3876             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    3877             : 
    3878             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    3879           2 :    ldv_free(ldv_5_ldv_param_18_2_default);
    3880             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_END"} */
    3881             : 
    3882             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    3883             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3884             : 
    3885             :    /* Jump to a subprocess 'call' initial state */
    3886           1 :    goto ldv_call_5;
    3887             :    /* Jump to a subprocess 'call' initial state */
    3888             :    goto ldv_call_5;
    3889             :    /* Jump to a subprocess 'call' initial state */
    3890             :    goto ldv_call_5;
    3891           1 :    break;
    3892             :   }
    3893           3 :   case 4: {
    3894             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback resume from bus_type."} */
    3895             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_resume))(ldv_5_device_device);", "comment": "callback"} */
    3896           2 :    ldv_rtc_class_scenario_callback_5_17(ldv_5_callback_resume, ldv_5_device_device);
    3897             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    3898             : 
    3899             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    3900             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3901             : 
    3902             :    /* Jump to a subprocess 'call' initial state */
    3903           1 :    goto ldv_call_5;
    3904             :    /* Jump to a subprocess 'call' initial state */
    3905             :    goto ldv_call_5;
    3906             :    /* Jump to a subprocess 'call' initial state */
    3907             :    goto ldv_call_5;
    3908             :    /* Jump to a subprocess 'call' initial state */
    3909             :    goto ldv_call_5;
    3910           1 :    break;
    3911             :   }
    3912           3 :   case 5: {
    3913             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback remove from bus_type."} */
    3914             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_remove))(ldv_5_device_device);", "comment": "callback"} */
    3915           2 :    ldv_rtc_class_scenario_callback_5_16(ldv_5_callback_remove, ldv_5_device_device);
    3916             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    3917             : 
    3918             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    3919             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3920             : 
    3921             :    /* Jump to a subprocess 'call' initial state */
    3922           1 :    goto ldv_call_5;
    3923             :    /* Jump to a subprocess 'call' initial state */
    3924             :    goto ldv_call_5;
    3925             :    /* Jump to a subprocess 'call' initial state */
    3926             :    goto ldv_call_5;
    3927             :    /* Jump to a subprocess 'call' initial state */
    3928             :    goto ldv_call_5;
    3929             :    /* Jump to a subprocess 'call' initial state */
    3930             :    goto ldv_call_5;
    3931           1 :    break;
    3932             :   }
    3933           3 :   case 6: {
    3934             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback match from bus_type."} */
    3935             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_match))(ldv_5_device_device, ldv_5_device_struct_device_driver_ptr);", "comment": "callback"} */
    3936           2 :    ldv_rtc_class_scenario_callback_5_15(ldv_5_callback_match, ldv_5_device_device, ldv_5_device_struct_device_driver_ptr);
    3937             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    3938             : 
    3939             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    3940             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3941             : 
    3942             :    /* Jump to a subprocess 'call' initial state */
    3943           1 :    goto ldv_call_5;
    3944             :    /* Jump to a subprocess 'call' initial state */
    3945             :    goto ldv_call_5;
    3946             :    /* Jump to a subprocess 'call' initial state */
    3947             :    goto ldv_call_5;
    3948             :    /* Jump to a subprocess 'call' initial state */
    3949             :    goto ldv_call_5;
    3950             :    /* Jump to a subprocess 'call' initial state */
    3951             :    goto ldv_call_5;
    3952             :    /* Jump to a subprocess 'call' initial state */
    3953             :    goto ldv_call_5;
    3954           1 :    break;
    3955             :   }
    3956           3 :   case 7: {
    3957             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback probe from bus_type."} */
    3958             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_probe))(ldv_5_device_device);", "comment": "callback"} */
    3959           2 :    ldv_rtc_class_scenario_callback_5_4(ldv_5_callback_func_1_ptr, ldv_5_device_device);
    3960             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    3961             : 
    3962             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    3963             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    3964             : 
    3965             :    /* Jump to a subprocess 'call' initial state */
    3966           1 :    goto ldv_call_5;
    3967             :    /* Jump to a subprocess 'call' initial state */
    3968             :    goto ldv_call_5;
    3969             :    /* Jump to a subprocess 'call' initial state */
    3970             :    goto ldv_call_5;
    3971             :    /* Jump to a subprocess 'call' initial state */
    3972             :    goto ldv_call_5;
    3973             :    /* Jump to a subprocess 'call' initial state */
    3974             :    goto ldv_call_5;
    3975             :    /* Jump to a subprocess 'call' initial state */
    3976             :    goto ldv_call_5;
    3977             :    /* Jump to a subprocess 'call' initial state */
    3978             :    goto ldv_call_5;
    3979           1 :    break;
    3980             :   }
    3981           3 :   case 8: {
    3982             :    /* LDV {"action": "RELEASE", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback release from RTC."} */
    3983           3 :    if (ldv_5_rtc_class_ops_rtc_class_ops->release) {
    3984             :    /* LDV {"type": "CALLBACK", "call": "(ldv_5_rtc_class_ops_rtc_class_ops->release)(ldv_5_device_device);", "comment": "release"} */
    3985           2 :     ldv_rtc_class_scenario_release_5_2(ldv_5_rtc_class_ops_rtc_class_ops->release, ldv_5_device_device);
    3986             :    }
    3987             :    /* LDV {"action": "RELEASE", "type": "CALL_END"} */
    3988             : 
    3989             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    3990             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    3991             : 
    3992             :    /* Jump to a subprocess 'main' initial state */
    3993           2 :    goto ldv_main_5;
    3994           1 :    break;
    3995             :   }
    3996           2 :   default: ldv_stop();
    3997           1 :  }
    3998           0 :  /* End of the subprocess 'call' */
    3999           0 :  return;
    4000             :  /* LDV {"comment": "End of control function based on process 'rtc_class_scenario(rtc)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_rtc_class_scenario_5"} */
    4001             : }
    4002             : 
    4003             : /* AUX_FUNC ldv_rtc_class_scenario_6 */
    4004             : void ldv_rtc_class_scenario_6(void *arg0) {
    4005             :  /* LDV {"thread": 6, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'rtc_class_scenario(rtc)'", "function": "ldv_rtc_class_scenario_6"} */
    4006           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    4007           1 :  int (*ldv_6_callback_func_1_ptr)(struct device *);
    4008           1 :  int (*ldv_6_callback_match)(struct device *, struct device_driver *);
    4009           1 :  int (*ldv_6_callback_remove)(struct device *);
    4010           1 :  int (*ldv_6_callback_resume)(struct device *);
    4011           1 :  ssize_t (*ldv_6_callback_show)(struct device *, struct device_attribute *, char *);
    4012           1 :  int (*ldv_6_callback_suspend)(struct device *, pm_message_t );
    4013           1 :  int (*ldv_6_callback_uevent)(struct device *, struct kobj_uevent_env *);
    4014           1 :  struct device *ldv_6_device_device;
    4015           1 :  struct device_attribute *ldv_6_device_struct_device_attribute;
    4016           1 :  struct device_driver *ldv_6_device_struct_device_driver_ptr;
    4017           1 :  struct kobj_uevent_env *ldv_6_device_struct_kobj_uevent_env_ptr;
    4018           1 :  struct pm_message ldv_6_device_struct_pm_message;
    4019           1 :  char *ldv_6_ldv_param_18_2_default;
    4020           1 :  int ldv_6_ret_default;
    4021           1 :  struct rtc_class_ops *ldv_6_rtc_class_ops_rtc_class_ops;
    4022           1 :  struct rtc_device *ldv_6_rtc_device_rtc_device;
    4023           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    4024           1 :  /* Initialize automaton variables */
    4025           2 :  ldv_6_ret_default = 1;
    4026           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Begin RTC callbacks invocations scenario."} */
    4027           3 :  ldv_free(arg0);
    4028           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_END"} */
    4029           1 : 
    4030           1 :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
    4031           4 :  ldv_6_rtc_device_rtc_device = ldv_xmalloc_unknown_size(0);
    4032           3 :  ldv_6_rtc_class_ops_rtc_class_ops = ldv_xmalloc_unknown_size(0);
    4033           3 :  ldv_6_device_device = ldv_xmalloc_unknown_size(0);
    4034           3 :  ldv_6_device_struct_device_attribute = ldv_xmalloc_unknown_size(0);
    4035           3 :  ldv_6_device_struct_device_driver_ptr = ldv_xmalloc_unknown_size(0);
    4036           3 :  ldv_6_device_struct_kobj_uevent_env_ptr = ldv_xmalloc_unknown_size(0);
    4037             :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_END"} */
    4038             : 
    4039             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    4040             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    4041             : 
    4042             :  /* Jump to a subprocess 'main' initial state */
    4043           1 :  goto ldv_main_6;
    4044             :  /* End of the process */
    4045             :  return;
    4046           1 : 
    4047             :  /* Sbprocess main */
    4048             :  ldv_main_6:
    4049             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    4050             : 
    4051           4 :  if (ldv_undef_int()) {
    4052             :   /* LDV {"action": "PROBE", "type": "CALL_BEGIN", "callback": true, "comment": "Probe a new RTC device. Invoke callback probe from RTC."} */
    4053             :   /* Callback pre-call */
    4054           1 :   ldv_pre_probe();
    4055           3 :   if (ldv_6_rtc_class_ops_rtc_class_ops->open) {
    4056             :   /* LDV {"type": "CALLBACK", "call": "ldv_6_ret_default = (ldv_6_rtc_class_ops_rtc_class_ops->open)(ldv_6_device_device);", "comment": "probe"} */
    4057           2 :    ldv_6_ret_default = ldv_rtc_class_scenario_probe_6_11(ldv_6_rtc_class_ops_rtc_class_ops->open, ldv_6_device_device);
    4058             :   }
    4059             :   /* Callback post-call */
    4060           4 :   ldv_6_ret_default = ldv_post_probe(ldv_6_ret_default);
    4061             :   /* LDV {"action": "PROBE", "type": "CALL_END"} */
    4062             : 
    4063           4 :   if (ldv_undef_int()) {
    4064             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_BEGIN", "comment": "The RTC device has been successfully probed."} */
    4065           2 :    ldv_assume(ldv_6_ret_default == 0);
    4066             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_END"} */
    4067             : 
    4068             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    4069             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    4070             : 
    4071             :    /* Jump to a subprocess 'call' initial state */
    4072           1 :    goto ldv_call_6;
    4073             :   }
    4074             :   else {
    4075             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_BEGIN", "comment": "Failed to probe the RTC device."} */
    4076           2 :    ldv_assume(ldv_6_ret_default != 0);
    4077             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_END"} */
    4078             : 
    4079             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    4080             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    4081             : 
    4082             :    /* Jump to a subprocess 'main' initial state */
    4083           1 :    goto ldv_main_6;
    4084             :   }
    4085             :  }
    4086             :  else {
    4087             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
    4088           2 :   ldv_free(ldv_6_rtc_device_rtc_device);
    4089             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_END"} */
    4090             : 
    4091             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Finish RTC callbacks invocations scenario."} */
    4092             :   /* Skip a non-replicative signal receiving */
    4093             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_END"} */
    4094             : 
    4095             :   /* Exit function at a terminal state */
    4096           1 :   return;
    4097             :  }
    4098             :  /* End of the subprocess 'main' */
    4099             :  return;
    4100           1 : 
    4101             :  /* Sbprocess call */
    4102             :  ldv_call_6:
    4103             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    4104             : 
    4105           2 :  switch (ldv_undef_int()) {
    4106           3 :   case 1: {
    4107             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback uevent from bus_type."} */
    4108             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_uevent))(ldv_6_device_device, ldv_6_device_struct_kobj_uevent_env_ptr);", "comment": "callback"} */
    4109           2 :    ldv_rtc_class_scenario_callback_6_22(ldv_6_callback_uevent, ldv_6_device_device, ldv_6_device_struct_kobj_uevent_env_ptr);
    4110             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    4111             : 
    4112             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    4113             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    4114             : 
    4115             :    /* Jump to a subprocess 'call' initial state */
    4116           1 :    goto ldv_call_6;
    4117           1 :    break;
    4118             :   }
    4119           3 :   case 2: {
    4120             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback suspend from bus_type."} */
    4121             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_suspend))(ldv_6_device_device, ldv_6_device_struct_pm_message);", "comment": "callback"} */
    4122           2 :    ldv_rtc_class_scenario_callback_6_21(ldv_6_callback_suspend, ldv_6_device_device, ldv_6_device_struct_pm_message);
    4123             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    4124             : 
    4125             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    4126             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    4127             : 
    4128             :    /* Jump to a subprocess 'call' initial state */
    4129           1 :    goto ldv_call_6;
    4130             :    /* Jump to a subprocess 'call' initial state */
    4131             :    goto ldv_call_6;
    4132           1 :    break;
    4133             :   }
    4134           3 :   case 3: {
    4135             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    4136           3 :    ldv_6_ldv_param_18_2_default = ldv_xmalloc_unknown_size(0);
    4137             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_END"} */
    4138             : 
    4139             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback show from device_attribute."} */
    4140             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_fwrev_show))(ldv_6_device_device, ldv_6_device_struct_device_attribute, ldv_6_ldv_param_18_2_default);", "comment": "callback"} */
    4141           2 :    ldv_rtc_class_scenario_callback_6_18(ldv_6_callback_show, ldv_6_device_device, ldv_6_device_struct_device_attribute, ldv_6_ldv_param_18_2_default);
    4142             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    4143             : 
    4144             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    4145           2 :    ldv_free(ldv_6_ldv_param_18_2_default);
    4146             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_END"} */
    4147             : 
    4148             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    4149             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    4150             : 
    4151             :    /* Jump to a subprocess 'call' initial state */
    4152           1 :    goto ldv_call_6;
    4153             :    /* Jump to a subprocess 'call' initial state */
    4154             :    goto ldv_call_6;
    4155             :    /* Jump to a subprocess 'call' initial state */
    4156             :    goto ldv_call_6;
    4157           1 :    break;
    4158             :   }
    4159           3 :   case 4: {
    4160             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback resume from bus_type."} */
    4161             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_resume))(ldv_6_device_device);", "comment": "callback"} */
    4162           2 :    ldv_rtc_class_scenario_callback_6_17(ldv_6_callback_resume, ldv_6_device_device);
    4163             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    4164             : 
    4165             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    4166             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    4167             : 
    4168             :    /* Jump to a subprocess 'call' initial state */
    4169           1 :    goto ldv_call_6;
    4170             :    /* Jump to a subprocess 'call' initial state */
    4171             :    goto ldv_call_6;
    4172             :    /* Jump to a subprocess 'call' initial state */
    4173             :    goto ldv_call_6;
    4174             :    /* Jump to a subprocess 'call' initial state */
    4175             :    goto ldv_call_6;
    4176           1 :    break;
    4177             :   }
    4178           3 :   case 5: {
    4179             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback remove from bus_type."} */
    4180             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_remove))(ldv_6_device_device);", "comment": "callback"} */
    4181           2 :    ldv_rtc_class_scenario_callback_6_16(ldv_6_callback_remove, ldv_6_device_device);
    4182             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    4183             : 
    4184             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    4185             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    4186             : 
    4187             :    /* Jump to a subprocess 'call' initial state */
    4188           1 :    goto ldv_call_6;
    4189             :    /* Jump to a subprocess 'call' initial state */
    4190             :    goto ldv_call_6;
    4191             :    /* Jump to a subprocess 'call' initial state */
    4192             :    goto ldv_call_6;
    4193             :    /* Jump to a subprocess 'call' initial state */
    4194             :    goto ldv_call_6;
    4195             :    /* Jump to a subprocess 'call' initial state */
    4196             :    goto ldv_call_6;
    4197           1 :    break;
    4198             :   }
    4199           3 :   case 6: {
    4200             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback match from bus_type."} */
    4201             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_match))(ldv_6_device_device, ldv_6_device_struct_device_driver_ptr);", "comment": "callback"} */
    4202           2 :    ldv_rtc_class_scenario_callback_6_15(ldv_6_callback_match, ldv_6_device_device, ldv_6_device_struct_device_driver_ptr);
    4203             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    4204             : 
    4205             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    4206             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    4207             : 
    4208             :    /* Jump to a subprocess 'call' initial state */
    4209           1 :    goto ldv_call_6;
    4210             :    /* Jump to a subprocess 'call' initial state */
    4211             :    goto ldv_call_6;
    4212             :    /* Jump to a subprocess 'call' initial state */
    4213             :    goto ldv_call_6;
    4214             :    /* Jump to a subprocess 'call' initial state */
    4215             :    goto ldv_call_6;
    4216             :    /* Jump to a subprocess 'call' initial state */
    4217             :    goto ldv_call_6;
    4218             :    /* Jump to a subprocess 'call' initial state */
    4219             :    goto ldv_call_6;
    4220           1 :    break;
    4221             :   }
    4222           3 :   case 7: {
    4223             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback probe from bus_type."} */
    4224             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_probe))(ldv_6_device_device);", "comment": "callback"} */
    4225           2 :    ldv_rtc_class_scenario_callback_6_4(ldv_6_callback_func_1_ptr, ldv_6_device_device);
    4226             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    4227             : 
    4228             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    4229             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    4230             : 
    4231             :    /* Jump to a subprocess 'call' initial state */
    4232           1 :    goto ldv_call_6;
    4233             :    /* Jump to a subprocess 'call' initial state */
    4234             :    goto ldv_call_6;
    4235             :    /* Jump to a subprocess 'call' initial state */
    4236             :    goto ldv_call_6;
    4237             :    /* Jump to a subprocess 'call' initial state */
    4238             :    goto ldv_call_6;
    4239             :    /* Jump to a subprocess 'call' initial state */
    4240             :    goto ldv_call_6;
    4241             :    /* Jump to a subprocess 'call' initial state */
    4242             :    goto ldv_call_6;
    4243             :    /* Jump to a subprocess 'call' initial state */
    4244             :    goto ldv_call_6;
    4245           1 :    break;
    4246             :   }
    4247           3 :   case 8: {
    4248             :    /* LDV {"action": "RELEASE", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback release from RTC."} */
    4249           3 :    if (ldv_6_rtc_class_ops_rtc_class_ops->release) {
    4250             :    /* LDV {"type": "CALLBACK", "call": "(ldv_6_rtc_class_ops_rtc_class_ops->release)(ldv_6_device_device);", "comment": "release"} */
    4251           2 :     ldv_rtc_class_scenario_release_6_2(ldv_6_rtc_class_ops_rtc_class_ops->release, ldv_6_device_device);
    4252             :    }
    4253             :    /* LDV {"action": "RELEASE", "type": "CALL_END"} */
    4254             : 
    4255             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    4256             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    4257             : 
    4258             :    /* Jump to a subprocess 'main' initial state */
    4259           2 :    goto ldv_main_6;
    4260           1 :    break;
    4261             :   }
    4262           2 :   default: ldv_stop();
    4263           1 :  }
    4264           0 :  /* End of the subprocess 'call' */
    4265           0 :  return;
    4266             :  /* LDV {"comment": "End of control function based on process 'rtc_class_scenario(rtc)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_rtc_class_scenario_6"} */
    4267             : }
    4268             : 
    4269             : /* AUX_FUNC ldv_rtc_class_scenario_7 */
    4270             : void ldv_rtc_class_scenario_7(void *arg0) {
    4271             :  /* LDV {"thread": 7, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'rtc_class_scenario(rtc)'", "function": "ldv_rtc_class_scenario_7"} */
    4272           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    4273           1 :  int (*ldv_7_callback_func_1_ptr)(struct device *);
    4274           1 :  int (*ldv_7_callback_match)(struct device *, struct device_driver *);
    4275           1 :  int (*ldv_7_callback_remove)(struct device *);
    4276           1 :  int (*ldv_7_callback_resume)(struct device *);
    4277           1 :  ssize_t (*ldv_7_callback_show)(struct device *, struct device_attribute *, char *);
    4278           1 :  int (*ldv_7_callback_suspend)(struct device *, pm_message_t );
    4279           1 :  int (*ldv_7_callback_uevent)(struct device *, struct kobj_uevent_env *);
    4280           1 :  struct device *ldv_7_device_device;
    4281           1 :  struct device_attribute *ldv_7_device_struct_device_attribute;
    4282           1 :  struct device_driver *ldv_7_device_struct_device_driver_ptr;
    4283           1 :  struct kobj_uevent_env *ldv_7_device_struct_kobj_uevent_env_ptr;
    4284           1 :  struct pm_message ldv_7_device_struct_pm_message;
    4285           1 :  char *ldv_7_ldv_param_18_2_default;
    4286           1 :  int ldv_7_ret_default;
    4287           1 :  struct rtc_class_ops *ldv_7_rtc_class_ops_rtc_class_ops;
    4288           1 :  struct rtc_device *ldv_7_rtc_device_rtc_device;
    4289           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    4290           1 :  /* Initialize automaton variables */
    4291           2 :  ldv_7_ret_default = 1;
    4292           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Begin RTC callbacks invocations scenario."} */
    4293           3 :  ldv_free(arg0);
    4294           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_END"} */
    4295           1 : 
    4296           1 :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
    4297           4 :  ldv_7_rtc_device_rtc_device = ldv_xmalloc_unknown_size(0);
    4298           3 :  ldv_7_rtc_class_ops_rtc_class_ops = ldv_xmalloc_unknown_size(0);
    4299           3 :  ldv_7_device_device = ldv_xmalloc_unknown_size(0);
    4300           3 :  ldv_7_device_struct_device_attribute = ldv_xmalloc_unknown_size(0);
    4301           3 :  ldv_7_device_struct_device_driver_ptr = ldv_xmalloc_unknown_size(0);
    4302           3 :  ldv_7_device_struct_kobj_uevent_env_ptr = ldv_xmalloc_unknown_size(0);
    4303             :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_END"} */
    4304             : 
    4305             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    4306             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    4307             : 
    4308             :  /* Jump to a subprocess 'main' initial state */
    4309           1 :  goto ldv_main_7;
    4310             :  /* End of the process */
    4311             :  return;
    4312           1 : 
    4313             :  /* Sbprocess main */
    4314             :  ldv_main_7:
    4315             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    4316             : 
    4317           4 :  if (ldv_undef_int()) {
    4318             :   /* LDV {"action": "PROBE", "type": "CALL_BEGIN", "callback": true, "comment": "Probe a new RTC device. Invoke callback probe from RTC."} */
    4319             :   /* Callback pre-call */
    4320           1 :   ldv_pre_probe();
    4321           3 :   if (ldv_7_rtc_class_ops_rtc_class_ops->open) {
    4322             :   /* LDV {"type": "CALLBACK", "call": "ldv_7_ret_default = (ldv_7_rtc_class_ops_rtc_class_ops->open)(ldv_7_device_device);", "comment": "probe"} */
    4323           2 :    ldv_7_ret_default = ldv_rtc_class_scenario_probe_7_11(ldv_7_rtc_class_ops_rtc_class_ops->open, ldv_7_device_device);
    4324             :   }
    4325             :   /* Callback post-call */
    4326           4 :   ldv_7_ret_default = ldv_post_probe(ldv_7_ret_default);
    4327             :   /* LDV {"action": "PROBE", "type": "CALL_END"} */
    4328             : 
    4329           4 :   if (ldv_undef_int()) {
    4330             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_BEGIN", "comment": "The RTC device has been successfully probed."} */
    4331           2 :    ldv_assume(ldv_7_ret_default == 0);
    4332             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_END"} */
    4333             : 
    4334             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    4335             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    4336             : 
    4337             :    /* Jump to a subprocess 'call' initial state */
    4338           1 :    goto ldv_call_7;
    4339             :   }
    4340             :   else {
    4341             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_BEGIN", "comment": "Failed to probe the RTC device."} */
    4342           2 :    ldv_assume(ldv_7_ret_default != 0);
    4343             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_END"} */
    4344             : 
    4345             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    4346             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    4347             : 
    4348             :    /* Jump to a subprocess 'main' initial state */
    4349           1 :    goto ldv_main_7;
    4350             :   }
    4351             :  }
    4352             :  else {
    4353             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
    4354           2 :   ldv_free(ldv_7_rtc_device_rtc_device);
    4355             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_END"} */
    4356             : 
    4357             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Finish RTC callbacks invocations scenario."} */
    4358             :   /* Skip a non-replicative signal receiving */
    4359             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_END"} */
    4360             : 
    4361             :   /* Exit function at a terminal state */
    4362           1 :   return;
    4363             :  }
    4364             :  /* End of the subprocess 'main' */
    4365             :  return;
    4366           1 : 
    4367             :  /* Sbprocess call */
    4368             :  ldv_call_7:
    4369             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    4370             : 
    4371           2 :  switch (ldv_undef_int()) {
    4372           3 :   case 1: {
    4373             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback uevent from bus_type."} */
    4374             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_uevent))(ldv_7_device_device, ldv_7_device_struct_kobj_uevent_env_ptr);", "comment": "callback"} */
    4375           2 :    ldv_rtc_class_scenario_callback_7_22(ldv_7_callback_uevent, ldv_7_device_device, ldv_7_device_struct_kobj_uevent_env_ptr);
    4376             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    4377             : 
    4378             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    4379             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    4380             : 
    4381             :    /* Jump to a subprocess 'call' initial state */
    4382           1 :    goto ldv_call_7;
    4383           1 :    break;
    4384             :   }
    4385           3 :   case 2: {
    4386             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback suspend from bus_type."} */
    4387             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_suspend))(ldv_7_device_device, ldv_7_device_struct_pm_message);", "comment": "callback"} */
    4388           2 :    ldv_rtc_class_scenario_callback_7_21(ldv_7_callback_suspend, ldv_7_device_device, ldv_7_device_struct_pm_message);
    4389             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    4390             : 
    4391             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    4392             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    4393             : 
    4394             :    /* Jump to a subprocess 'call' initial state */
    4395           1 :    goto ldv_call_7;
    4396             :    /* Jump to a subprocess 'call' initial state */
    4397             :    goto ldv_call_7;
    4398           1 :    break;
    4399             :   }
    4400           3 :   case 3: {
    4401             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    4402           3 :    ldv_7_ldv_param_18_2_default = ldv_xmalloc_unknown_size(0);
    4403             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_END"} */
    4404             : 
    4405             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback show from device_attribute."} */
    4406             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_hwrev_show))(ldv_7_device_device, ldv_7_device_struct_device_attribute, ldv_7_ldv_param_18_2_default);", "comment": "callback"} */
    4407           2 :    ldv_rtc_class_scenario_callback_7_18(ldv_7_callback_show, ldv_7_device_device, ldv_7_device_struct_device_attribute, ldv_7_ldv_param_18_2_default);
    4408             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    4409             : 
    4410             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    4411           2 :    ldv_free(ldv_7_ldv_param_18_2_default);
    4412             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_END"} */
    4413             : 
    4414             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    4415             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    4416             : 
    4417             :    /* Jump to a subprocess 'call' initial state */
    4418           1 :    goto ldv_call_7;
    4419             :    /* Jump to a subprocess 'call' initial state */
    4420             :    goto ldv_call_7;
    4421             :    /* Jump to a subprocess 'call' initial state */
    4422             :    goto ldv_call_7;
    4423           1 :    break;
    4424             :   }
    4425           3 :   case 4: {
    4426             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback resume from bus_type."} */
    4427             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_resume))(ldv_7_device_device);", "comment": "callback"} */
    4428           2 :    ldv_rtc_class_scenario_callback_7_17(ldv_7_callback_resume, ldv_7_device_device);
    4429             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    4430             : 
    4431             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    4432             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    4433             : 
    4434             :    /* Jump to a subprocess 'call' initial state */
    4435           1 :    goto ldv_call_7;
    4436             :    /* Jump to a subprocess 'call' initial state */
    4437             :    goto ldv_call_7;
    4438             :    /* Jump to a subprocess 'call' initial state */
    4439             :    goto ldv_call_7;
    4440             :    /* Jump to a subprocess 'call' initial state */
    4441             :    goto ldv_call_7;
    4442           1 :    break;
    4443             :   }
    4444           3 :   case 5: {
    4445             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback remove from bus_type."} */
    4446             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_remove))(ldv_7_device_device);", "comment": "callback"} */
    4447           2 :    ldv_rtc_class_scenario_callback_7_16(ldv_7_callback_remove, ldv_7_device_device);
    4448             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    4449             : 
    4450             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    4451             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    4452             : 
    4453             :    /* Jump to a subprocess 'call' initial state */
    4454           1 :    goto ldv_call_7;
    4455             :    /* Jump to a subprocess 'call' initial state */
    4456             :    goto ldv_call_7;
    4457             :    /* Jump to a subprocess 'call' initial state */
    4458             :    goto ldv_call_7;
    4459             :    /* Jump to a subprocess 'call' initial state */
    4460             :    goto ldv_call_7;
    4461             :    /* Jump to a subprocess 'call' initial state */
    4462             :    goto ldv_call_7;
    4463           1 :    break;
    4464             :   }
    4465           3 :   case 6: {
    4466             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback match from bus_type."} */
    4467             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_match))(ldv_7_device_device, ldv_7_device_struct_device_driver_ptr);", "comment": "callback"} */
    4468           2 :    ldv_rtc_class_scenario_callback_7_15(ldv_7_callback_match, ldv_7_device_device, ldv_7_device_struct_device_driver_ptr);
    4469             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    4470             : 
    4471             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    4472             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    4473             : 
    4474             :    /* Jump to a subprocess 'call' initial state */
    4475           1 :    goto ldv_call_7;
    4476             :    /* Jump to a subprocess 'call' initial state */
    4477             :    goto ldv_call_7;
    4478             :    /* Jump to a subprocess 'call' initial state */
    4479             :    goto ldv_call_7;
    4480             :    /* Jump to a subprocess 'call' initial state */
    4481             :    goto ldv_call_7;
    4482             :    /* Jump to a subprocess 'call' initial state */
    4483             :    goto ldv_call_7;
    4484             :    /* Jump to a subprocess 'call' initial state */
    4485             :    goto ldv_call_7;
    4486           1 :    break;
    4487             :   }
    4488           3 :   case 7: {
    4489             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback probe from bus_type."} */
    4490             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_probe))(ldv_7_device_device);", "comment": "callback"} */
    4491           2 :    ldv_rtc_class_scenario_callback_7_4(ldv_7_callback_func_1_ptr, ldv_7_device_device);
    4492             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    4493             : 
    4494             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    4495             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    4496             : 
    4497             :    /* Jump to a subprocess 'call' initial state */
    4498           1 :    goto ldv_call_7;
    4499             :    /* Jump to a subprocess 'call' initial state */
    4500             :    goto ldv_call_7;
    4501             :    /* Jump to a subprocess 'call' initial state */
    4502             :    goto ldv_call_7;
    4503             :    /* Jump to a subprocess 'call' initial state */
    4504             :    goto ldv_call_7;
    4505             :    /* Jump to a subprocess 'call' initial state */
    4506             :    goto ldv_call_7;
    4507             :    /* Jump to a subprocess 'call' initial state */
    4508             :    goto ldv_call_7;
    4509             :    /* Jump to a subprocess 'call' initial state */
    4510             :    goto ldv_call_7;
    4511           1 :    break;
    4512             :   }
    4513           3 :   case 8: {
    4514             :    /* LDV {"action": "RELEASE", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback release from RTC."} */
    4515           3 :    if (ldv_7_rtc_class_ops_rtc_class_ops->release) {
    4516             :    /* LDV {"type": "CALLBACK", "call": "(ldv_7_rtc_class_ops_rtc_class_ops->release)(ldv_7_device_device);", "comment": "release"} */
    4517           2 :     ldv_rtc_class_scenario_release_7_2(ldv_7_rtc_class_ops_rtc_class_ops->release, ldv_7_device_device);
    4518             :    }
    4519             :    /* LDV {"action": "RELEASE", "type": "CALL_END"} */
    4520             : 
    4521             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    4522             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    4523             : 
    4524             :    /* Jump to a subprocess 'main' initial state */
    4525           2 :    goto ldv_main_7;
    4526           1 :    break;
    4527             :   }
    4528           2 :   default: ldv_stop();
    4529           1 :  }
    4530           0 :  /* End of the subprocess 'call' */
    4531           0 :  return;
    4532             :  /* LDV {"comment": "End of control function based on process 'rtc_class_scenario(rtc)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_rtc_class_scenario_7"} */
    4533             : }
    4534             : 
    4535             : /* AUX_FUNC ldv_rtc_class_scenario_8 */
    4536             : void ldv_rtc_class_scenario_8(void *arg0) {
    4537             :  /* LDV {"thread": 8, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'rtc_class_scenario(rtc)'", "function": "ldv_rtc_class_scenario_8"} */
    4538           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    4539           1 :  int (*ldv_8_callback_func_1_ptr)(struct device *);
    4540           1 :  int (*ldv_8_callback_match)(struct device *, struct device_driver *);
    4541           1 :  int (*ldv_8_callback_remove)(struct device *);
    4542           1 :  int (*ldv_8_callback_resume)(struct device *);
    4543           1 :  ssize_t (*ldv_8_callback_show)(struct device *, struct device_attribute *, char *);
    4544           1 :  int (*ldv_8_callback_suspend)(struct device *, pm_message_t );
    4545           1 :  int (*ldv_8_callback_uevent)(struct device *, struct kobj_uevent_env *);
    4546           1 :  struct device *ldv_8_device_device;
    4547           1 :  struct device_attribute *ldv_8_device_struct_device_attribute;
    4548           1 :  struct device_driver *ldv_8_device_struct_device_driver_ptr;
    4549           1 :  struct kobj_uevent_env *ldv_8_device_struct_kobj_uevent_env_ptr;
    4550           1 :  struct pm_message ldv_8_device_struct_pm_message;
    4551           1 :  char *ldv_8_ldv_param_18_2_default;
    4552           1 :  int ldv_8_ret_default;
    4553           1 :  struct rtc_class_ops *ldv_8_rtc_class_ops_rtc_class_ops;
    4554           1 :  struct rtc_device *ldv_8_rtc_device_rtc_device;
    4555           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    4556           1 :  /* Initialize automaton variables */
    4557           2 :  ldv_8_ret_default = 1;
    4558           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Begin RTC callbacks invocations scenario."} */
    4559           3 :  ldv_free(arg0);
    4560           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_END"} */
    4561           1 : 
    4562           1 :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
    4563           4 :  ldv_8_rtc_device_rtc_device = ldv_xmalloc_unknown_size(0);
    4564           3 :  ldv_8_rtc_class_ops_rtc_class_ops = ldv_xmalloc_unknown_size(0);
    4565           3 :  ldv_8_device_device = ldv_xmalloc_unknown_size(0);
    4566           3 :  ldv_8_device_struct_device_attribute = ldv_xmalloc_unknown_size(0);
    4567           3 :  ldv_8_device_struct_device_driver_ptr = ldv_xmalloc_unknown_size(0);
    4568           3 :  ldv_8_device_struct_kobj_uevent_env_ptr = ldv_xmalloc_unknown_size(0);
    4569             :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_END"} */
    4570             : 
    4571             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    4572             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    4573             : 
    4574             :  /* Jump to a subprocess 'main' initial state */
    4575           1 :  goto ldv_main_8;
    4576             :  /* End of the process */
    4577             :  return;
    4578           1 : 
    4579             :  /* Sbprocess main */
    4580             :  ldv_main_8:
    4581             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    4582             : 
    4583           4 :  if (ldv_undef_int()) {
    4584             :   /* LDV {"action": "PROBE", "type": "CALL_BEGIN", "callback": true, "comment": "Probe a new RTC device. Invoke callback probe from RTC."} */
    4585             :   /* Callback pre-call */
    4586           1 :   ldv_pre_probe();
    4587           3 :   if (ldv_8_rtc_class_ops_rtc_class_ops->open) {
    4588             :   /* LDV {"type": "CALLBACK", "call": "ldv_8_ret_default = (ldv_8_rtc_class_ops_rtc_class_ops->open)(ldv_8_device_device);", "comment": "probe"} */
    4589           2 :    ldv_8_ret_default = ldv_rtc_class_scenario_probe_8_11(ldv_8_rtc_class_ops_rtc_class_ops->open, ldv_8_device_device);
    4590             :   }
    4591             :   /* Callback post-call */
    4592           4 :   ldv_8_ret_default = ldv_post_probe(ldv_8_ret_default);
    4593             :   /* LDV {"action": "PROBE", "type": "CALL_END"} */
    4594             : 
    4595           4 :   if (ldv_undef_int()) {
    4596             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_BEGIN", "comment": "The RTC device has been successfully probed."} */
    4597           2 :    ldv_assume(ldv_8_ret_default == 0);
    4598             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_END"} */
    4599             : 
    4600             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    4601             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    4602             : 
    4603             :    /* Jump to a subprocess 'call' initial state */
    4604           1 :    goto ldv_call_8;
    4605             :   }
    4606             :   else {
    4607             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_BEGIN", "comment": "Failed to probe the RTC device."} */
    4608           2 :    ldv_assume(ldv_8_ret_default != 0);
    4609             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_END"} */
    4610             : 
    4611             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    4612             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    4613             : 
    4614             :    /* Jump to a subprocess 'main' initial state */
    4615           1 :    goto ldv_main_8;
    4616             :   }
    4617             :  }
    4618             :  else {
    4619             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
    4620           2 :   ldv_free(ldv_8_rtc_device_rtc_device);
    4621             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_END"} */
    4622             : 
    4623             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Finish RTC callbacks invocations scenario."} */
    4624             :   /* Skip a non-replicative signal receiving */
    4625             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_END"} */
    4626             : 
    4627             :   /* Exit function at a terminal state */
    4628           1 :   return;
    4629             :  }
    4630             :  /* End of the subprocess 'main' */
    4631             :  return;
    4632           1 : 
    4633             :  /* Sbprocess call */
    4634             :  ldv_call_8:
    4635             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    4636             : 
    4637           2 :  switch (ldv_undef_int()) {
    4638           3 :   case 1: {
    4639             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback uevent from bus_type."} */
    4640             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_uevent))(ldv_8_device_device, ldv_8_device_struct_kobj_uevent_env_ptr);", "comment": "callback"} */
    4641           2 :    ldv_rtc_class_scenario_callback_8_22(ldv_8_callback_uevent, ldv_8_device_device, ldv_8_device_struct_kobj_uevent_env_ptr);
    4642             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    4643             : 
    4644             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    4645             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    4646             : 
    4647             :    /* Jump to a subprocess 'call' initial state */
    4648           1 :    goto ldv_call_8;
    4649           1 :    break;
    4650             :   }
    4651           3 :   case 2: {
    4652             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback suspend from bus_type."} */
    4653             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_suspend))(ldv_8_device_device, ldv_8_device_struct_pm_message);", "comment": "callback"} */
    4654           2 :    ldv_rtc_class_scenario_callback_8_21(ldv_8_callback_suspend, ldv_8_device_device, ldv_8_device_struct_pm_message);
    4655             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    4656             : 
    4657             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    4658             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    4659             : 
    4660             :    /* Jump to a subprocess 'call' initial state */
    4661           1 :    goto ldv_call_8;
    4662             :    /* Jump to a subprocess 'call' initial state */
    4663             :    goto ldv_call_8;
    4664           1 :    break;
    4665             :   }
    4666           3 :   case 3: {
    4667             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    4668           3 :    ldv_8_ldv_param_18_2_default = ldv_xmalloc_unknown_size(0);
    4669             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_END"} */
    4670             : 
    4671             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback show from device_attribute."} */
    4672             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_manfid_show))(ldv_8_device_device, ldv_8_device_struct_device_attribute, ldv_8_ldv_param_18_2_default);", "comment": "callback"} */
    4673           2 :    ldv_rtc_class_scenario_callback_8_18(ldv_8_callback_show, ldv_8_device_device, ldv_8_device_struct_device_attribute, ldv_8_ldv_param_18_2_default);
    4674             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    4675             : 
    4676             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    4677           2 :    ldv_free(ldv_8_ldv_param_18_2_default);
    4678             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_END"} */
    4679             : 
    4680             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    4681             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    4682             : 
    4683             :    /* Jump to a subprocess 'call' initial state */
    4684           1 :    goto ldv_call_8;
    4685             :    /* Jump to a subprocess 'call' initial state */
    4686             :    goto ldv_call_8;
    4687             :    /* Jump to a subprocess 'call' initial state */
    4688             :    goto ldv_call_8;
    4689           1 :    break;
    4690             :   }
    4691           3 :   case 4: {
    4692             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback resume from bus_type."} */
    4693             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_resume))(ldv_8_device_device);", "comment": "callback"} */
    4694           2 :    ldv_rtc_class_scenario_callback_8_17(ldv_8_callback_resume, ldv_8_device_device);
    4695             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    4696             : 
    4697             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    4698             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    4699             : 
    4700             :    /* Jump to a subprocess 'call' initial state */
    4701           1 :    goto ldv_call_8;
    4702             :    /* Jump to a subprocess 'call' initial state */
    4703             :    goto ldv_call_8;
    4704             :    /* Jump to a subprocess 'call' initial state */
    4705             :    goto ldv_call_8;
    4706             :    /* Jump to a subprocess 'call' initial state */
    4707             :    goto ldv_call_8;
    4708           1 :    break;
    4709             :   }
    4710           3 :   case 5: {
    4711             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback remove from bus_type."} */
    4712             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_remove))(ldv_8_device_device);", "comment": "callback"} */
    4713           2 :    ldv_rtc_class_scenario_callback_8_16(ldv_8_callback_remove, ldv_8_device_device);
    4714             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    4715             : 
    4716             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    4717             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    4718             : 
    4719             :    /* Jump to a subprocess 'call' initial state */
    4720           1 :    goto ldv_call_8;
    4721             :    /* Jump to a subprocess 'call' initial state */
    4722             :    goto ldv_call_8;
    4723             :    /* Jump to a subprocess 'call' initial state */
    4724             :    goto ldv_call_8;
    4725             :    /* Jump to a subprocess 'call' initial state */
    4726             :    goto ldv_call_8;
    4727             :    /* Jump to a subprocess 'call' initial state */
    4728             :    goto ldv_call_8;
    4729           1 :    break;
    4730             :   }
    4731           3 :   case 6: {
    4732             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback match from bus_type."} */
    4733             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_match))(ldv_8_device_device, ldv_8_device_struct_device_driver_ptr);", "comment": "callback"} */
    4734           2 :    ldv_rtc_class_scenario_callback_8_15(ldv_8_callback_match, ldv_8_device_device, ldv_8_device_struct_device_driver_ptr);
    4735             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    4736             : 
    4737             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    4738             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    4739             : 
    4740             :    /* Jump to a subprocess 'call' initial state */
    4741           1 :    goto ldv_call_8;
    4742             :    /* Jump to a subprocess 'call' initial state */
    4743             :    goto ldv_call_8;
    4744             :    /* Jump to a subprocess 'call' initial state */
    4745             :    goto ldv_call_8;
    4746             :    /* Jump to a subprocess 'call' initial state */
    4747             :    goto ldv_call_8;
    4748             :    /* Jump to a subprocess 'call' initial state */
    4749             :    goto ldv_call_8;
    4750             :    /* Jump to a subprocess 'call' initial state */
    4751             :    goto ldv_call_8;
    4752           1 :    break;
    4753             :   }
    4754           3 :   case 7: {
    4755             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback probe from bus_type."} */
    4756             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_probe))(ldv_8_device_device);", "comment": "callback"} */
    4757           2 :    ldv_rtc_class_scenario_callback_8_4(ldv_8_callback_func_1_ptr, ldv_8_device_device);
    4758             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    4759             : 
    4760             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    4761             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    4762             : 
    4763             :    /* Jump to a subprocess 'call' initial state */
    4764           1 :    goto ldv_call_8;
    4765             :    /* Jump to a subprocess 'call' initial state */
    4766             :    goto ldv_call_8;
    4767             :    /* Jump to a subprocess 'call' initial state */
    4768             :    goto ldv_call_8;
    4769             :    /* Jump to a subprocess 'call' initial state */
    4770             :    goto ldv_call_8;
    4771             :    /* Jump to a subprocess 'call' initial state */
    4772             :    goto ldv_call_8;
    4773             :    /* Jump to a subprocess 'call' initial state */
    4774             :    goto ldv_call_8;
    4775             :    /* Jump to a subprocess 'call' initial state */
    4776             :    goto ldv_call_8;
    4777           1 :    break;
    4778             :   }
    4779           3 :   case 8: {
    4780             :    /* LDV {"action": "RELEASE", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback release from RTC."} */
    4781           3 :    if (ldv_8_rtc_class_ops_rtc_class_ops->release) {
    4782             :    /* LDV {"type": "CALLBACK", "call": "(ldv_8_rtc_class_ops_rtc_class_ops->release)(ldv_8_device_device);", "comment": "release"} */
    4783           2 :     ldv_rtc_class_scenario_release_8_2(ldv_8_rtc_class_ops_rtc_class_ops->release, ldv_8_device_device);
    4784             :    }
    4785             :    /* LDV {"action": "RELEASE", "type": "CALL_END"} */
    4786             : 
    4787             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    4788             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    4789             : 
    4790             :    /* Jump to a subprocess 'main' initial state */
    4791           2 :    goto ldv_main_8;
    4792           1 :    break;
    4793             :   }
    4794           2 :   default: ldv_stop();
    4795           1 :  }
    4796           0 :  /* End of the subprocess 'call' */
    4797           0 :  return;
    4798             :  /* LDV {"comment": "End of control function based on process 'rtc_class_scenario(rtc)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_rtc_class_scenario_8"} */
    4799             : }
    4800             : 
    4801             : /* AUX_FUNC ldv_rtc_class_scenario_9 */
    4802             : void ldv_rtc_class_scenario_9(void *arg0) {
    4803             :  /* LDV {"thread": 9, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'rtc_class_scenario(rtc)'", "function": "ldv_rtc_class_scenario_9"} */
    4804           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
    4805           1 :  int (*ldv_9_callback_func_1_ptr)(struct device *);
    4806           1 :  int (*ldv_9_callback_match)(struct device *, struct device_driver *);
    4807           1 :  int (*ldv_9_callback_remove)(struct device *);
    4808           1 :  int (*ldv_9_callback_resume)(struct device *);
    4809           1 :  ssize_t (*ldv_9_callback_show)(struct device *, struct device_attribute *, char *);
    4810           1 :  int (*ldv_9_callback_suspend)(struct device *, pm_message_t );
    4811           1 :  int (*ldv_9_callback_uevent)(struct device *, struct kobj_uevent_env *);
    4812           1 :  struct device *ldv_9_device_device;
    4813           1 :  struct device_attribute *ldv_9_device_struct_device_attribute;
    4814           1 :  struct device_driver *ldv_9_device_struct_device_driver_ptr;
    4815           1 :  struct kobj_uevent_env *ldv_9_device_struct_kobj_uevent_env_ptr;
    4816           1 :  struct pm_message ldv_9_device_struct_pm_message;
    4817           1 :  char *ldv_9_ldv_param_18_2_default;
    4818           1 :  int ldv_9_ret_default;
    4819           1 :  struct rtc_class_ops *ldv_9_rtc_class_ops_rtc_class_ops;
    4820           1 :  struct rtc_device *ldv_9_rtc_device_rtc_device;
    4821           1 :  /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
    4822           1 :  /* Initialize automaton variables */
    4823           2 :  ldv_9_ret_default = 1;
    4824           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Begin RTC callbacks invocations scenario."} */
    4825           3 :  ldv_free(arg0);
    4826           1 :  /* LDV {"action": "DEFAULT_REGISTER_3", "type": "RECEIVE_END"} */
    4827           1 : 
    4828           1 :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_BEGIN", "comment": "Allocate memory after default registration."} */
    4829           4 :  ldv_9_rtc_device_rtc_device = ldv_xmalloc_unknown_size(0);
    4830           3 :  ldv_9_rtc_class_ops_rtc_class_ops = ldv_xmalloc_unknown_size(0);
    4831           3 :  ldv_9_device_device = ldv_xmalloc_unknown_size(0);
    4832           3 :  ldv_9_device_struct_device_attribute = ldv_xmalloc_unknown_size(0);
    4833           3 :  ldv_9_device_struct_device_driver_ptr = ldv_xmalloc_unknown_size(0);
    4834           3 :  ldv_9_device_struct_kobj_uevent_env_ptr = ldv_xmalloc_unknown_size(0);
    4835             :  /* LDV {"action": "DEFAULT_ALLOC_3", "type": "CONDITION_END"} */
    4836             : 
    4837             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    4838             :  /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    4839             : 
    4840             :  /* Jump to a subprocess 'main' initial state */
    4841           1 :  goto ldv_main_9;
    4842             :  /* End of the process */
    4843             :  return;
    4844           1 : 
    4845             :  /* Sbprocess main */
    4846             :  ldv_main_9:
    4847             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    4848             : 
    4849           4 :  if (ldv_undef_int()) {
    4850             :   /* LDV {"action": "PROBE", "type": "CALL_BEGIN", "callback": true, "comment": "Probe a new RTC device. Invoke callback probe from RTC."} */
    4851             :   /* Callback pre-call */
    4852           1 :   ldv_pre_probe();
    4853           3 :   if (ldv_9_rtc_class_ops_rtc_class_ops->open) {
    4854             :   /* LDV {"type": "CALLBACK", "call": "ldv_9_ret_default = (ldv_9_rtc_class_ops_rtc_class_ops->open)(ldv_9_device_device);", "comment": "probe"} */
    4855           2 :    ldv_9_ret_default = ldv_rtc_class_scenario_probe_9_11(ldv_9_rtc_class_ops_rtc_class_ops->open, ldv_9_device_device);
    4856             :   }
    4857             :   /* Callback post-call */
    4858           4 :   ldv_9_ret_default = ldv_post_probe(ldv_9_ret_default);
    4859             :   /* LDV {"action": "PROBE", "type": "CALL_END"} */
    4860             : 
    4861           4 :   if (ldv_undef_int()) {
    4862             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_BEGIN", "comment": "The RTC device has been successfully probed."} */
    4863           2 :    ldv_assume(ldv_9_ret_default == 0);
    4864             :    /* LDV {"action": "PROBE_SUCCESS", "type": "CONDITION_END"} */
    4865             : 
    4866             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    4867             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    4868             : 
    4869             :    /* Jump to a subprocess 'call' initial state */
    4870           1 :    goto ldv_call_9;
    4871             :   }
    4872             :   else {
    4873             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_BEGIN", "comment": "Failed to probe the RTC device."} */
    4874           2 :    ldv_assume(ldv_9_ret_default != 0);
    4875             :    /* LDV {"action": "PROBE_FAILED", "type": "CONDITION_END"} */
    4876             : 
    4877             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    4878             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    4879             : 
    4880             :    /* Jump to a subprocess 'main' initial state */
    4881           1 :    goto ldv_main_9;
    4882             :   }
    4883             :  }
    4884             :  else {
    4885             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_BEGIN", "comment": "Free memory before default deregistration."} */
    4886           2 :   ldv_free(ldv_9_rtc_device_rtc_device);
    4887             :   /* LDV {"action": "DEFAULT_FREE_3", "type": "CONDITION_END"} */
    4888             : 
    4889             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_BEGIN", "comment": "Finish RTC callbacks invocations scenario."} */
    4890             :   /* Skip a non-replicative signal receiving */
    4891             :   /* LDV {"action": "DEFAULT_DEREGISTER_3", "type": "RECEIVE_END"} */
    4892             : 
    4893             :   /* Exit function at a terminal state */
    4894           1 :   return;
    4895             :  }
    4896             :  /* End of the subprocess 'main' */
    4897             :  return;
    4898           1 : 
    4899             :  /* Sbprocess call */
    4900             :  ldv_call_9:
    4901             :  /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
    4902             : 
    4903           2 :  switch (ldv_undef_int()) {
    4904           3 :   case 1: {
    4905             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback uevent from bus_type."} */
    4906             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_uevent))(ldv_9_device_device, ldv_9_device_struct_kobj_uevent_env_ptr);", "comment": "callback"} */
    4907           2 :    ldv_rtc_class_scenario_callback_9_22(ldv_9_callback_uevent, ldv_9_device_device, ldv_9_device_struct_kobj_uevent_env_ptr);
    4908             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    4909             : 
    4910             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    4911             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    4912             : 
    4913             :    /* Jump to a subprocess 'call' initial state */
    4914           1 :    goto ldv_call_9;
    4915           1 :    break;
    4916             :   }
    4917           3 :   case 2: {
    4918             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback suspend from bus_type."} */
    4919             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_suspend))(ldv_9_device_device, ldv_9_device_struct_pm_message);", "comment": "callback"} */
    4920           2 :    ldv_rtc_class_scenario_callback_9_21(ldv_9_callback_suspend, ldv_9_device_device, ldv_9_device_struct_pm_message);
    4921             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    4922             : 
    4923             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    4924             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    4925             : 
    4926             :    /* Jump to a subprocess 'call' initial state */
    4927           1 :    goto ldv_call_9;
    4928             :    /* Jump to a subprocess 'call' initial state */
    4929             :    goto ldv_call_9;
    4930           1 :    break;
    4931             :   }
    4932           3 :   case 3: {
    4933             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
    4934           3 :    ldv_9_ldv_param_18_2_default = ldv_xmalloc_unknown_size(0);
    4935             :    /* LDV {"action": "PRE_CALL_18", "type": "CONDITION_END"} */
    4936             : 
    4937             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback show from device_attribute."} */
    4938             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_name_show))(ldv_9_device_device, ldv_9_device_struct_device_attribute, ldv_9_ldv_param_18_2_default);", "comment": "callback"} */
    4939           2 :    ldv_rtc_class_scenario_callback_9_18(ldv_9_callback_show, ldv_9_device_device, ldv_9_device_struct_device_attribute, ldv_9_ldv_param_18_2_default);
    4940             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    4941             : 
    4942             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
    4943           2 :    ldv_free(ldv_9_ldv_param_18_2_default);
    4944             :    /* LDV {"action": "POST_CALL_18", "type": "CONDITION_END"} */
    4945             : 
    4946             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    4947             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    4948             : 
    4949             :    /* Jump to a subprocess 'call' initial state */
    4950           1 :    goto ldv_call_9;
    4951             :    /* Jump to a subprocess 'call' initial state */
    4952             :    goto ldv_call_9;
    4953             :    /* Jump to a subprocess 'call' initial state */
    4954             :    goto ldv_call_9;
    4955           1 :    break;
    4956             :   }
    4957           3 :   case 4: {
    4958             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback resume from bus_type."} */
    4959             :    /* LDV {"type": "CALLBACK", "call": "((& mmc_bus_resume))(ldv_9_device_device);", "comment": "callback"} */
    4960           2 :    ldv_rtc_class_scenario_callback_9_17(ldv_9_callback_resume, ldv_9_device_device);
    4961             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    4962             : 
    4963             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    4964             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    4965             : 
    4966             :    /* Jump to a subprocess 'call' initial state */
    4967           1 :    goto ldv_call_9;
    4968             :    /* Jump to a subprocess 'call' initial state */
    4969             :    goto ldv_call_9;
    4970             :    /* Jump to a subprocess 'call' initial state */
    4971             :    goto ldv_call_9;
    4972             :    /* Jump to a subprocess 'call' initial state */
    4973             :    goto ldv_call_9;
    4974           1 :    break;
    4975             :   }
    4976           3 :   case 5: {
    4977             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback remove from bus_type."} */
    4978             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_remove))(ldv_9_device_device);", "comment": "callback"} */
    4979           2 :    ldv_rtc_class_scenario_callback_9_16(ldv_9_callback_remove, ldv_9_device_device);
    4980             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    4981             : 
    4982             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    4983             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    4984             : 
    4985             :    /* Jump to a subprocess 'call' initial state */
    4986           1 :    goto ldv_call_9;
    4987             :    /* Jump to a subprocess 'call' initial state */
    4988             :    goto ldv_call_9;
    4989             :    /* Jump to a subprocess 'call' initial state */
    4990             :    goto ldv_call_9;
    4991             :    /* Jump to a subprocess 'call' initial state */
    4992             :    goto ldv_call_9;
    4993             :    /* Jump to a subprocess 'call' initial state */
    4994             :    goto ldv_call_9;
    4995           1 :    break;
    4996             :   }
    4997           3 :   case 6: {
    4998             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback match from bus_type."} */
    4999             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_match))(ldv_9_device_device, ldv_9_device_struct_device_driver_ptr);", "comment": "callback"} */
    5000           2 :    ldv_rtc_class_scenario_callback_9_15(ldv_9_callback_match, ldv_9_device_device, ldv_9_device_struct_device_driver_ptr);
    5001             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    5002             : 
    5003             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    5004             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    5005             : 
    5006             :    /* Jump to a subprocess 'call' initial state */
    5007           1 :    goto ldv_call_9;
    5008             :    /* Jump to a subprocess 'call' initial state */
    5009             :    goto ldv_call_9;
    5010             :    /* Jump to a subprocess 'call' initial state */
    5011             :    goto ldv_call_9;
    5012             :    /* Jump to a subprocess 'call' initial state */
    5013             :    goto ldv_call_9;
    5014             :    /* Jump to a subprocess 'call' initial state */
    5015             :    goto ldv_call_9;
    5016             :    /* Jump to a subprocess 'call' initial state */
    5017             :    goto ldv_call_9;
    5018           1 :    break;
    5019             :   }
    5020           3 :   case 7: {
    5021             :    /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback probe from bus_type."} */
    5022             :    /* LDV {"type": "CALLBACK", "call": "((& sdio_bus_probe))(ldv_9_device_device);", "comment": "callback"} */
    5023           2 :    ldv_rtc_class_scenario_callback_9_4(ldv_9_callback_func_1_ptr, ldv_9_device_device);
    5024             :    /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
    5025             : 
    5026             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is probed."} */
    5027             :    /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
    5028             : 
    5029             :    /* Jump to a subprocess 'call' initial state */
    5030           1 :    goto ldv_call_9;
    5031             :    /* Jump to a subprocess 'call' initial state */
    5032             :    goto ldv_call_9;
    5033             :    /* Jump to a subprocess 'call' initial state */
    5034             :    goto ldv_call_9;
    5035             :    /* Jump to a subprocess 'call' initial state */
    5036             :    goto ldv_call_9;
    5037             :    /* Jump to a subprocess 'call' initial state */
    5038             :    goto ldv_call_9;
    5039             :    /* Jump to a subprocess 'call' initial state */
    5040             :    goto ldv_call_9;
    5041             :    /* Jump to a subprocess 'call' initial state */
    5042             :    goto ldv_call_9;
    5043           1 :    break;
    5044             :   }
    5045           3 :   case 8: {
    5046             :    /* LDV {"action": "RELEASE", "type": "CALL_BEGIN", "callback": true, "comment": "Invoke callback release from RTC."} */
    5047           3 :    if (ldv_9_rtc_class_ops_rtc_class_ops->release) {
    5048             :    /* LDV {"type": "CALLBACK", "call": "(ldv_9_rtc_class_ops_rtc_class_ops->release)(ldv_9_device_device);", "comment": "release"} */
    5049           2 :     ldv_rtc_class_scenario_release_9_2(ldv_9_rtc_class_ops_rtc_class_ops->release, ldv_9_device_device);
    5050             :    }
    5051             :    /* LDV {"action": "RELEASE", "type": "CALL_END"} */
    5052             : 
    5053             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "The RTC device is inserted in the system."} */
    5054             :    /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
    5055             : 
    5056             :    /* Jump to a subprocess 'main' initial state */
    5057           2 :    goto ldv_main_9;
    5058           1 :    break;
    5059             :   }
    5060           2 :   default: ldv_stop();
    5061           1 :  }
    5062           0 :  /* End of the subprocess 'call' */
    5063           0 :  return;
    5064             :  /* LDV {"comment": "End of control function based on process 'rtc_class_scenario(rtc)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_rtc_class_scenario_9"} */
    5065             : }
    5066             : 
    5067             : /* AUX_FUNC_CALLBACK ldv_rtc_class_scenario_callback_10_18 */
    5068             : void ldv_rtc_class_scenario_callback_10_18(ssize_t (*arg0)(struct device *, struct device_attribute *, char *), struct device *arg1, struct device_attribute *arg2, char *arg3) {
    5069           2 :  ((& mmc_oemid_show))(arg1, arg2, arg3);
    5070           1 : }
    5071             : 
    5072             : /* AUX_FUNC_CALLBACK ldv_rtc_class_scenario_callback_11_18 */
    5073             : void ldv_rtc_class_scenario_callback_11_18(ssize_t (*arg0)(struct device *, struct device_attribute *, char *), struct device *arg1, struct device_attribute *arg2, char *arg3) {
    5074           2 :  ((& mmc_scr_show))(arg1, arg2, arg3);
    5075           1 : }
    5076             : 
    5077             : /* AUX_FUNC_CALLBACK ldv_rtc_class_scenario_callback_12_18 */
    5078             : void ldv_rtc_class_scenario_callback_12_18(ssize_t (*arg0)(struct device *, struct device_attribute *, char *), struct device *arg1, struct device_attribute *arg2, char *arg3) {
    5079           2 :  ((& mmc_serial_show))(arg1, arg2, arg3);
    5080           1 : }
    5081             : 
    5082             : /* AUX_FUNC_CALLBACK ldv_rtc_class_scenario_callback_17_18 */
    5083             : void ldv_rtc_class_scenario_callback_17_18(ssize_t (*arg0)(struct device *, struct device_attribute *, char *), struct device *arg1, struct device_attribute *arg2, char *arg3) {
    5084           2 :  ((& mmc_cid_show))(arg1, arg2, arg3);
    5085           1 : }
    5086             : 
    5087             : /* AUX_FUNC_CALLBACK ldv_rtc_class_scenario_callback_4_18 */
    5088             : void ldv_rtc_class_scenario_callback_4_18(ssize_t (*arg0)(struct device *, struct device_attribute *, char *), struct device *arg1, struct device_attribute *arg2, char *arg3) {
    5089           2 :  ((& mmc_csd_show))(arg1, arg2, arg3);
    5090           1 : }
    5091             : 
    5092             : /* AUX_FUNC_CALLBACK ldv_rtc_class_scenario_callback_5_18 */
    5093             : void ldv_rtc_class_scenario_callback_5_18(ssize_t (*arg0)(struct device *, struct device_attribute *, char *), struct device *arg1, struct device_attribute *arg2, char *arg3) {
    5094           2 :  ((& mmc_date_show))(arg1, arg2, arg3);
    5095           1 : }
    5096             : 
    5097             : /* AUX_FUNC_CALLBACK ldv_rtc_class_scenario_callback_6_18 */
    5098             : void ldv_rtc_class_scenario_callback_6_18(ssize_t (*arg0)(struct device *, struct device_attribute *, char *), struct device *arg1, struct device_attribute *arg2, char *arg3) {
    5099           2 :  ((& mmc_fwrev_show))(arg1, arg2, arg3);
    5100           1 : }
    5101             : 
    5102             : /* AUX_FUNC_CALLBACK ldv_rtc_class_scenario_callback_7_18 */
    5103             : void ldv_rtc_class_scenario_callback_7_18(ssize_t (*arg0)(struct device *, struct device_attribute *, char *), struct device *arg1, struct device_attribute *arg2, char *arg3) {
    5104           2 :  ((& mmc_hwrev_show))(arg1, arg2, arg3);
    5105           1 : }
    5106             : 
    5107             : /* AUX_FUNC_CALLBACK ldv_rtc_class_scenario_callback_8_18 */
    5108             : void ldv_rtc_class_scenario_callback_8_18(ssize_t (*arg0)(struct device *, struct device_attribute *, char *), struct device *arg1, struct device_attribute *arg2, char *arg3) {
    5109           2 :  ((& mmc_manfid_show))(arg1, arg2, arg3);
    5110           1 : }
    5111             : 
    5112             : /* AUX_FUNC_CALLBACK ldv_rtc_class_scenario_callback_9_18 */
    5113             : void ldv_rtc_class_scenario_callback_9_18(ssize_t (*arg0)(struct device *, struct device_attribute *, char *), struct device *arg1, struct device_attribute *arg2, char *arg3) {
    5114           2 :  ((& mmc_name_show))(arg1, arg2, arg3);
    5115           1 : }
    5116             : 
    5117             : 
    5118             : /* AUX_FUNC  ERR_PTR */
    5119             : static inline void *ERR_PTR (long int error)
    5120             : {
    5121             : 
    5122             :  return ldv_err_ptr(error);
    5123             : }
    5124             : 
    5125             : /* AUX_FUNC  PTR_ERR */
    5126             : static inline long int PTR_ERR (void const *ptr)
    5127             : {
    5128             : 
    5129             :  return ldv_ptr_err(ptr);
    5130             : }
    5131             : 
    5132             : /* AUX_FUNC  IS_ERR */
    5133             : static inline long int IS_ERR (void const *ptr)
    5134             : {
    5135             : 
    5136             :  return ldv_is_err(ptr);
    5137             : }
    5138             : 
    5139             : /* AUX_FUNC  IS_ERR_OR_NULL */
    5140             : static inline long int IS_ERR_OR_NULL (void const *ptr)
    5141             : {
    5142             : 
    5143             :  return ldv_is_err_or_null(ptr);
    5144             : }
    5145             : 
    5146             : /* AUX_FUNC  kzalloc */
    5147             : static inline void *kzalloc (size_t size, gfp_t flags)
    5148             : {
    5149             : 
    5150             :  return ldv_kzalloc(size, flags);
    5151             : }

Generated by: LCOV version 1.10